如何知道何时在TextFormField上按下完成键,并清除所写内容并保存在列表中?
答案 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)
您可以使用onChange
和FocusScope
进行设置焦点检测
var demo = FocusNode();
@override
Widget build(BuildContext context) {
return Column(children: <Widget>[
TextFormField(
focusNode: demo,
onChanged: (text) {
print("Demo field: $text");
},
)
]);
可以查看更多信息here