当用户转到Flutter中的下一个文本文件时,如何获取文本字段的值

时间:2019-07-02 05:30:15

标签: flutter

return Container(
    width: (screenWidth / 2) - 45,
    child: Column(
      crossAxisAlignment: CrossAxisAlignment.start,
      children: <Widget>[
        LightText(
          text: widget.labelText,
        ),
        Padding(
          padding: EdgeInsets.only(top: 3),
        ),
        Container(
            height: 24,
            decoration:
                BoxDecoration(borderRadius: BorderRadius.circular(3)),
            child: Theme(
                data: ThemeData(hintColor: lightGrey),
                child: TextField(
                  inputFormatters: [
                    WhitelistingTextInputFormatter.digitsOnly,
                    CurrencyInputFormatter(),
                  ],
                  enabled: widget.enableVal,
                  controller: widget.controllerText,
                  keyboardType: TextInputType.number,
                  decoration: InputDecoration(
                      disabledBorder: OutlineInputBorder(
                          borderSide: BorderSide(color: Colors.white)),
                      border: OutlineInputBorder(),
                      contentPadding:
                          const EdgeInsets.symmetric(vertical: 3.0)),
                ))),
      ],
    ));
  }
}

2 个答案:

答案 0 :(得分:0)

每当数据更改时,您都可以使用Textfield的onChanged事件获取数据。

这是您可以执行的操作。

    String someData;
    onChanged: (data) {
      //data is your current value of the textfield.
      someData = data;
    },

使用它,您将始终拥有TextField的数据。

修改

您也可以使用onSubmitted事件来获得所需的结果。

TextField(
  onSubmitted: (data) {},
),

答案 1 :(得分:0)

为此使用TextEditingController。伪代码示例:

    TextEditingController _controller;
    ...
    TextField(
       controller: _controller,
    ),
    ...

    void _someMethod(){
      String text = _controller.text;
    }

要收听焦点之间的变化,请查看以下内容:Focus and text fields

    FocusNode _focus;
    ...
    TextField(
        focus: _focus;
    )
    ...

    void check(){
        if(_focus.hasFocus){
          // insert handling
        }
    }

我认为,除非您自己检查文档,否则最好的答案是。 Handle changes to a text field