如何使文本在flutter中与Textfield一起响应

问题描述 投票:0回答:1

我有这个代码,在其中我有一个文本和一个文本字段,如何使文本以与被动方式相同的文本字段填充。

这种尝试但没有得到结果。

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),
          ],
        )),
      ),
    );
  }
}
dart flutter textfield responsive
1个回答
1
投票

您不需要从控制器获取文本值,因为TextField已经提供了onChanged

onChange你需要打电话给setState

如下所示:

TextField(
  onChanged: (value) {
    setState(() {
      aMostrar = value;
    });
  },
),

如果你正在使用TextFormField,那么你需要在setState的监听器内调用controller

如下所示:

controller.addListener(() {
  setState(() {
    aMostrar = controller.text;
  });
});
© www.soinside.com 2019 - 2024. All rights reserved.