flutter - 如何从 TextField 小部件的内容创建字符计数器
问题描述
您好,我是新来的,我正在尝试在 textField 小部件下方创建一个字符计数器。这是我当前的代码
TextField(
maxLines: 3,
controller: _cancellationReasonCtrl,
decoration: InputDecoration(
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color:primaryColor
)
),
labelText: "type minimum 30 characters"
),
)
这就是我显示数字的方式
Text((30 - _cancellationReasonCtrl.text.length).toString()+" character left")
但是当我更改文本字段的内容时它不会更新数字
解决方案
只有当您更改变量并调用 setState 时,Flutter 才会更新 UI。
因此,您应该执行以下操作:
setState( () {
Text((30 - _cancellationReasonCtrl.text.length).toString()+" character left")
}):
阅读更多关于状态的信息:https ://api.flutter.dev/flutter/widgets/State/State.html
推荐阅读
- javascript - 即使我在 react/redux 中使用受保护的路由设置了身份验证,我仍然会被注销?当我刷新页面时
- java - 在 intellij 查看所有 Spring Boot 项目的端口
- python - pytorch torch.jit.trace 返回函数而不是 torch.jit.ScriptModule
- java - 字符串字节值的变化
- jquery - 在 Jquery 数据表中加载异步数据
- spring-security - 获取异常 spring security 用户帐户被锁定\
- django - 我无法从我的 HTML 表单中获取数据并将其保存到 django 的数据库中
- php - PHP在PDO插入的空数组值中插入mysql NULL
- vuejs2 - vuejs 如何对异步更新的组件数据做出反应
- macos - zsh:找不到命令:react-native - MacOS