Flutter - 无法在不点击文本字段的情况下编辑文本

Flutter - cannot edit text in textfield without tapping on it

所以,我有一个如下所示的 TextField:

TextField(
  inputFormatters: [FilteringTextInputFormatter.digitsOnly],
  controller: _amountController,
  autofocus: true,
  keyboardType: TextInputType.number,
  decoration: InputDecoration(
    hintText: '0',
    hintStyle: TextStyle(color: Painter.gray500),
    border: InputBorder.none,
    prefixIcon: Padding(
      padding: const EdgeInsets.only(right: 8.0),
      child: SvgPicture.asset(icon),
    ),
    prefixIconConstraints: BoxConstraints(
      maxHeight: 20,
      maxWidth: 20,
    ),
  ),
),

这是我用来添加数据的底部 sheet。我还想启用编辑,所以点击底部 sheet 加载具有现有值的 TextField,如果有的话。为此,_amountController 被初始化为:

AddDataSheet({
  required this.title,
  required this.subtitle,
  this.amount,
}) {
  _amountController = TextEditingController.fromValue(
    amount == null
        ? TextEditingValue.empty
        : TextEditingValue(
            text: amount.toString()
          ),
  );
}

问题是,当 TextField 加载时,它带有焦点,但我无法编辑它,直到我点击它。我试着添加这个,

selection: TextSelection.fromPosition(
    TextPosition(offset: amount.toString().length),
),

到控制器初始化,但它不起作用。

我怎样才能拥有 TextField,这样我就不必点击它来开始编辑值了?

我认为你需要使用 focusnode 属性

https://api.flutter.dev/flutter/material/TextField/focusNode.html

另请参考这些答案