我是Flutter的新手。我有一个联系人列表项目(姓名,电话,地址),当用户点击联系人时,我将其发送到编辑表单,并且想用联系人数据填充表单。 我使用TextField作为输入,并通过小部件获取数据,例如:widget.contact.data['name']。 我无法找到此问题的任何答案。
在Flutter的docs中,有两种访问TextField文本的方法。
第一种是通过onChanged回调函数,它有一个参数是当前的文本。
TextField(
onChanged: (text) {
// do what you want with the text
},
);
如果需要更高级的文本处理,包括从build()
方法之外访问它,则可以使用TextEditingController。
final _controller = TextEditingController();
然后您可以将其链接到您的TextField:
TextField(
// other parameters
controller: _controller,
);
不要忘记处理它!
@override
void dispose() {
// other dispose methods
_controller.dispose();
super.dispose();
}
@override
void initState() {
super.initState();
_controller.addListener(_handleText);
// other code here
}
_handleText() {
// do what you want with the text, for example:
print(_controller.text);
}