我们正在创建一个用户的编辑数据页面,因此文本字段已经填充了用户数据,用户可以更改并保存它...问题是,当我开始在文本字段中输入字符时,光标会丢失,每个字符都会丢失我输入(从设备键盘),光标转到第一个字符...如果我使用初始值删除控制器,它工作正常,但随后我无法让我的文本字段填充用户数据。
代码示例:
child: StreamBuilder<String>(
stream: _bloc.myStream,
builder: (context, snap) => TextField(
decoration: InputDecoration(
hintText: 'example',
labelText: 'Name',
errorText: snap.error,
),
onChanged: _bloc.updateMyStream,
controller: TextEditingController(text: snap.data),
),
),
每当您需要更新 TextController 文本时,为了能够编辑它,您需要像这样修复光标位置
textController.value = textController.value.copyWith(text:<NEW_VALUE>,);
将 NEW_VALUE 替换为新文本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)