dart - 在 Flutter 中检测键盘事件
问题描述
如何在 Flutter 中检测 TextFormField 上的键盘事件?如果用户删除了最后一个字母并再次按下删除按钮,则光标应该跳回之前的 TextFormField。
我想实现一个输入屏幕,类似于那个。
https://mobile-solutions.ingenico.com/wp-content/uploads/IMG_022.png
解决方案
是的,您可以使用onChange
AndFocusScope
设置焦点来做到这一点
在这里,当您删除第二个FormField
焦点的最后一个字母时FormField
var firstField = FocusNode();
var secondField = FocusNode();
@override
Widget build(BuildContext context) {
return Column(children: <Widget>[
TextFormField(
focusNode: firstField,
onChanged: (text) {
print("First field: $text");
},
),
TextFormField(
focusNode: secondField,
onChanged: (text) {
if (text.length <= 0) {
FocusScope.of(context).requestFocus(firstField);
}
print("Second field: $text");
},
)
]);
}
推荐阅读
- r - 闪亮的传递输入到 dbplyr 过滤器管道
- progress-bar - 4 名玩家的进度条
- android - 在 api 30 中返回 false BindService
- c# - 如何在用户 pc 上创建本地 postgresql 数据库
- laravel - 如何在 Laravel 中使用 spatie 权限中间件?
- java - Android Studio BackgroundService 在没有用户交互的情况下一直运行?
- java - 如何在spring中创建自定义查询方法生成器
- javascript - HTML输入元素在EJS中使用电子返回空格
- bash - 如何在蛇形规则中使用 bash for 循环
- python - heroku 电报机器人,BadRequest:Bad webhook:保留 IP 地址 0.0.0.0