gpt4 book ai didi

controller - StreamBuilder 中具有初始值的 TextField

转载 作者:IT王子 更新时间:2023-10-29 06:48:12 27 4
gpt4 key购买 nike

我们正在创建一个用户的编辑数据页面,所以文本字段已经填满了用户数据,用户可以更改并保存它......问题是当我开始在文本字段中输入字符时,光标丢失了,我输入的每个字符(从设备键盘),光标都会转到第一个字符......如果我用我的初始值删除 Controller ,它工作正常,但是我不能让我的文本字段填充用户数据.

代码示例:

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。

关于controller - StreamBuilder 中具有初始值的 TextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682877/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com