flutter - 如何实时收听 TextField 更改并使用 TextField 内容更新 Text 小部件?

标签 flutter dart flutter-layout

我有一个 TextField 和一个 Text 小部件,它们应该实时显示在 TextField 中编写的文本。

这是代码:

 late final TextEditingController _importo;

  @override
  void initState() {
    _importo = TextEditingController();
    super.initState();}

    @override
    Widget build(BuildContext context) {
      return Column(children: [
        SizedBox(
          width: 50,
          child: TextField(
            textAlign: TextAlign.end,
            controller: _importo,
            decoration: const InputDecoration(
              hintText: '0.00',
            ),
            autocorrect: false,
            keyboardType: TextInputType.number,
          ),
        ),
        Text(
          _importo.text,
          style: const TextStyle(
            fontWeight: FontWeight.w400,
            fontSize: 15,
          ),
        ),
      ]);
    }
  }

我认为缺少某些内容,因为文本小部件没有更新。

最佳答案

您在 initState 上的代码存在范围(brackaet)问题,文本将在 textField 上自动更新,并添加监听器在文本更改时更新其他 UI 小部件。

 late final TextEditingController _importo;

 @override
  void initState() {
    super.initState();
    _importo = TextEditingController()
      ..addListener(() {
        setState(() {});
      });
  }

  @override
  Widget build(BuildContext context) {
    return Column(children: [
      SizedBox(
        width: 50,
        child: TextField(
          textAlign: TextAlign.end,
          controller: _importo,
          decoration: const InputDecoration(
            hintText: '0.00',
          ),
          autocorrect: false,
          keyboardType: TextInputType.number,
        ),
      ),
      Text(
        _importo.text,
        style: const TextStyle(
          fontWeight: FontWeight.w400,
          fontSize: 15,
        ),
      ),
    ]);
  }
}

关于flutter - 如何实时收听 TextField 更改并使用 TextField 内容更新 Text 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73085874/

相关文章:

dart - dart 聚合物中的条件 CSS

flutter - Dart base64解码

firebase - 如何修改代码以使Stream Builder具有Stream <dynamic>类型的流?

android - 在 Flutter 中更改文本字段 Thumb?

flutter - Builder 与 GlobalKey

android - Flutter展开竖线

flutter - 查看 .pub-cache 文件给出 Request textDocument/documentSymbol failed

Flutter:故意隐藏键盘下的 Stack 项目

flutter - 如何在 Canvas 上绘制小部件?

flutter - 在 ListView 内具有可变高度的 TabBarView