Flutter 中的 TextEditingController 没有默认值。在使用 TextEditingController 时,必须创建一个新的实例并将其传递给 TextField 或 TextFormField 等组件。
例如,要将 TextEditingController 传递给 TextField ,可以这样写:
final myController = TextEditingController();
...
TextField(
controller: myController,
...
)
如果需要,可以在创建 TextEditingController 实例时将初始值作为参数传入。
final myController = TextEditingController(text: "Default Text");
源码如下:
class TextEditingController extends ValueNotifier<TextEditingValue> { /// Creates a controller for an editable text field. /// /// This constructor treats a null [text] argument as if it were the empty /// string. TextEditingController({ String? text }) : super(text == null ? TextEditingValue.empty : TextEditingValue(text: text));