我怎么知道何时在TextFormField上按下键盘键?

时间:2020-10-23 11:11:50

标签: flutter dart

如何知道何时在TextFormField上按下完成键,并清除所写内容并保存在列表中?

3 个答案:

答案 0 :(得分:1)

您可以在文本字段中使用onsubmitted:函数进行操作
当用户提交文本时,此函数将调用,
您还可以使用textInputAction控制操作 像下面一样

textInputAction: TextInputAction.done,

答案 1 :(得分:1)

对于要清除TextFormField值的部分,您可以根据this执行以下操作:

String selectedValue;
List selectedValueList;
 var _controller = TextEditingController();
    List selectedValuesList;
    String selectedValue;
          TextFormField(
            controller: _controller,
            labelText: "Enter value"),
            onChanged: (value) {
                  setState(() {
                       selectedValue = value;
                            });
                          },
                        ),

,每当您要清除它时,都可以呼叫以下

    controller.clear(),

对于完成的密钥,我并不确切知道您要做什么,但是您可以检查this之类的内容是否可以帮助您找到所需的内容, 并在按下该完成键时,您将执行以下操作:

selectedValueList.add(selectedValue);
selectedValue="";
_controller.clear(),

答案 2 :(得分:0)

您可以使用onChangeFocusScope进行设置焦点检测

var demo = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Column(children: <Widget>[
      TextFormField(
        focusNode: demo,
        onChanged: (text) {
          print("Demo  field: $text");
        },
      )
    ]);

可以查看更多信息here