StreamBuilder 中具有初始值的 TextField

2024-01-29

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

代码示例:

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(使用前将#替换为@)

StreamBuilder 中具有初始值的 TextField 的相关文章

随机推荐

  • Nodejs Promise 设计中的内存泄漏?

    我注意到这里有些人建议当你想延迟某些事情的执行时使用await async和promise而不是直接使用setTimeout 这是代码 async wait ms return new Promise resolve gt setTimeo
  • 用热毛巾和 durandal 连接到另一个控制器

    我正在开发一个带有多个 spa 的 mvc4 应用程序 我正在为我的水疗中心使用热毛巾模板 我想要做的是在我的视图中为水疗中心添加一个锚链接 转到另一个控制器的索引操作 以便我的用户可以退出一个水疗中心并打开另一个水疗中心 并非所有操作都会
  • 使用 MVVM 时无法创建 ViewModel 类的实例

    我创造了ViewModel类 并尝试创建我的实例ViewModel使用 ViewModelProvider 的类 在运行时 我收到此错误 无法创建类的实例班级名称 ViewModel 这里有 所需代码 MainActivity java p
  • 文字字符串放置在哪里以及为什么我可以返回指向它们的指针? [复制]

    这个问题在这里已经有答案了 我偶然发现了这个函数answer https stackoverflow com a 4929561 195701 to 这个问题 https stackoverflow com q 4929329 195701
  • 当由本地服务帐户在服务中运行时,并非 Process.GetProcesses 中有关进程的所有信息

    我有这个代码 PermissionSet SecurityAction Assert Name FullTrust public List
  • 在 Realm 中存储字符串数组

    我在我的 iOS 应用程序中使用领域 在我的应用程序中 我创建了一个目标文件 其中有一些字符串变量 其中也有一个数组 这是我的Object领域类 class Reminder Object objc dynamic var name obj
  • Gradle 构建工具找不到 play-services-tasks.aar?为什么?

    今天突然 当我尝试在 Android studio 中运行我的应用程序时遇到错误 It is Error Could not find play services tasks aar com google android gms play
  • SSE比FPU慢?

    我有一大段代码 其主体部分包含这段代码 result nx m Lx ny m Ly m Lz sqrt nx nx ny ny 1 我将其矢量化如下 一切都已经是float m128 r mm mul ps mm set ps ny nx
  • 如何将 window 设置为 undefined 以测试同构应用程序中的 SSR 渲染?

    我一直在尝试测试窗口未定义时的 else 块 由于我使用 Next js 窗口在服务器端渲染 SSR 期间将是未定义的 目前我找不到办法做到这一点 任何帮助深表感谢 我尝试过设置window undefined and global win
  • 在特定时间后加载网址[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有一个网
  • 具有子路由的子域的 ZF2 路由器配置

    我需要我的路由器配置按如下方式工作 www bmob co uk gt DtCompanyData Controller CompanyMap wage bmob co uk gt DtWage Controller Wage wage b
  • 弯引号与方引号,有什么区别?

    毫无疑问 这里有人以前遇到过一个有趣的问题 我正在读取一个 CSV 文件 其中包含一些用引号引起来的值 今天遇到一个问题 我的应用程序无法读取该文件 因为该值用小引号而不是方引号引起来 这是编码问题吗 我只是将引号替换为 有人可以解释为什么
  • 如何通过ADB关闭Wifi?

    我正在自动化 wifi 呼叫的测试程序 我想知道有没有办法通过 adb 关闭 打开 wifi 我想禁用 启用 wifi 或终止 wifi 呼叫 com movi al wificall 并重新启动它 是否可以通过 adb 和 shell 命
  • 如何从 select 语句中选择结果子集

    我有一个存储 RDF 三元组的表 三元组 triple id sub id pre id obj id 该方法 我需要编写 将接收与 pre id 值相对应的数字数组 我想为传入的数组中的所有 pre id 选择具有相应 pre id 的所
  • 如何重命名 MySQL 中的主键列?

    如何重命名 MySQL 中的主键列 这与更改任何其他列没有什么不同 ALTER TABLE pkey CHANGE keyfield keyfield2 INT 11 NOT NULL AUTO INCREMENT 这会改变列keyfiel
  • 安装后无法使用指南针

    我似乎无法在 Vagrant 上使用指南针这个 Vagrant 文件 https github com Ilyes512 Vaprobash blob compass Vagrantfile 请在此处查看 bash 脚本的其余部分 已删除存
  • 设置 Git GUI 差异窗口的 UTF-8 显示

    我不记得我是如何让 Git GUI 正确显示 UTF 8 编码差异的 而且我在搜索引擎中找不到该指南 现在我需要在新的工作场所这样做 你能写下说明吗 操作系统 Windows 7 Global setting for all you rep
  • 如何在 Chrome 扩展中实现日志记录功能

    我正在开发一个扩展 并且需要日志记录 不是基于控制台的日志记录 而是传统意义上的日志文件 扩展程序监视某些事件并将它们记录到文件系统 首先 我尝试了文件系统 API 调用 一般来说 这似乎是正确的 API 但问题是我需要向我的扩展的用户提供
  • iOS8中UIImagePickerController隐藏状态栏问题

    我做了这个 void navigationController UINavigationController navigationController willShowViewController UIViewController view
  • StreamBuilder 中具有初始值的 TextField

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