Keyboard重建flutter中的build方法

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

我有一个场景,我使用 Futurebuilderfirebase 获取数据,并使用这些数据创建 TextFields 创建一个 TextFields 列表 及其独特的控制器。 当我点击任何 TextField 并且 当键盘打开/关闭时它再次调用构建方法 那是我无法更新文本。 我该如何解决? 我已经尝试过

resizeToAvoidBottomInset: true
但是没有用。

// Outside the build method
Map<String, TextEditingController> _controllers = {};


FutureBuilder<List<PlaceholderModel>>(
            future: userService.getOwnPlaceholderData(),
            builder: (context,snapshot){
              if (snapshot.hasData) {

              for (int index = 0; index < snapshot.data!.length; index++) {
                  final controller = TextEditingController(text: snapshot.data?[index].title);
                  controller.text = snapshot.data?[index].placeholder ?? '';
                  _controllers[snapshot.data?[index].title ?? ''] = controller;

                }
                return Listview.builder();
              }

              ...
              });

flutter controller textfield
© www.soinside.com 2019 - 2024. All rights reserved.