dart - 如何使文本在 flutter 中与 Textfield 一起工作

标签 dart flutter textfield responsive

我有这段代码,其中有一个文本和一个文本字段,我怎样才能以 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/

相关文章:

Flutter video_player 从 firebase 加载视频花费了太多时间

ios - 如何在 SwiftUI 中更新 TextField 的值?

rest - 如何使用 HttpClient 类请求多个 URL 而不会丢失 URL 之间的关系

dart - 有什么更好的方法来处理环境之间不同的服务URL?

dart - dart Map 中的默认值

javascript - js.dart scoped() undefined

dart - Flutter 中的可拖动 FloatingActionButton

dart - 格式化持续时间,如 HH :mm:ss

flutter - 如何使用 flutter 小部件实现虚线文本字段

java - 试图将 setEditable 设置为 false 但出现错误