我有一个场景,我使用 Futurebuilder 从 firebase 获取数据,并使用这些数据创建 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();
}
...
});