我有这段代码,其中有一个文本和一个文本字段,我怎样才能以 react 方式使文本与文本字段一起填充。
这种尝试去做却没有得到结果。
class _MyHomePageState extends State<MyHomePage> {
TextEditingController controller = TextEditingController();
String aMostrar = "";
@override
Widget build(BuildContext context) {
controller.text = "";
controller.addListener(() {
aMostrar = controller.text;
});
return Scaffold(
appBar: AppBar(
title: Text("TextField Example"),
),
body: Container(
margin: EdgeInsets.all(20.0),
child: Center(
child: Column(
children: <Widget>[
TextField(
controller: controller,
),
Text(aMostrar),
],
)),
),
);
}
}
最佳答案
您不需要从 Controller 获取文本值,因为 TextField
已经提供了 onChanged
。
在 onChange
中,您需要调用 setState
。
如下所示:
TextField(
onChanged: (value) {
setState(() {
aMostrar = value;
});
},
),
如果您正在使用 TextFormField
,那么您需要在 controller
的监听器中调用 setState
。
如下所示:
controller.addListener(() {
setState(() {
aMostrar = controller.text;
});
});
关于dart - 如何使文本在 flutter 中与 Textfield 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55932375/