Flutter TextFormField如何添加手动onChange属性

时间:2019-02-01 09:31:44

标签: mobile dart flutter

我将TextEditingController添加到TextFormField中以读取用户输入,但是我想在TextFormField中的每次更新时都读取输入,并且Controller显示以前的更新。简而言之,我想要替代TextField中的onChanged方法,因为我将这种形式用于表单,所以我需要使用TextFormField。给我建议一下。

2 个答案:

答案 0 :(得分:2)

只需将侦听器添加到TextEditingController。

如下所示。

  @override
  void initState() {
    super.initState();

    _editingController.addListener(() {
      print(_editingController.text);
    });
  }

希望有帮助!

答案 1 :(得分:2)

将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;
     },
),