我将 TextEditController 添加到我的 TextFormField 中以读取用户输入,但我想在 TextFormField 中的每次更新时读取输入,并且控制器显示以前的更新。简而言之,我想要一个替代类似 TextField 中的 onChanged 方法的东西,因为我将其用于表单,我需要使用 TextFormField。给我一些建议。
只需将侦听器添加到 TextEditController 即可。
如下所示。
@override
void initState() {
super.initState();
_editingController.addListener(() {
print(_editingController.text);
});
}
@override
void dispose() {
// Clean up the controller when the Widget is disposed
_editingController.dispose();
super.dispose();
}
希望对您有所帮助!
将TextFormField的onChange(text)函数与ValueNotifier一起使用,这应该对您有所帮助。
TextFormField(
controller: _Controller,
label: "Input",
currentNode: _Node,
nextNode: FocusNode(),
keyboard: TextInputType.visiblePassword,
onChanged: (text) {
_avalueNotifier.value = text;
},
inputFormatters: <TextInputFormatter>[
BlacklistingTextInputFormatter.singleLineFormatter,
],
validator: (String value) {
if (value.isEmpty) {
return 'Please make inputs';
}
return null;
},
),