如何在Flutter中检测TextFormField上的键盘事件?如果用户删除最后一个字母并再次按下删除按钮,光标应跳回到上一个TextFormField。
我想实现一个引脚输入屏幕,类似的东西。
https://mobile-solutions.ingenico.com/wp-content/uploads/IMG_022.png
如何在Flutter中检测TextFormField上的键盘事件?如果用户删除最后一个字母并再次按下删除按钮,光标应跳回到上一个TextFormField。
我想实现一个引脚输入屏幕,类似的东西。
https://mobile-solutions.ingenico.com/wp-content/uploads/IMG_022.png
4条答案
按热度按时间wnavrhmk1#
是的,您可以使用
onChange
和FocusScope
来设置焦点在这里,当您删除第二个
FormField
的最后一个字母时,焦点设置在第一个FormField
上字符串
}
yshpjwxd2#
要实现pin-enter屏幕,你不必管理键盘事件.由于该屏幕有不同的按钮,每个按钮都作为其文本输入.
因此,从逻辑上讲,您只需将按钮的值添加到列表中,并在按下删除键时从列表中删除该值。
您可以使用列表的长度和数据填充TextField。
camsedfj3#
我希望这个答案对你有帮助。我也遇到过类似的情况,我就是这样做的!
字符串
hwamh0ep4#
我知道这篇文章有点旧,但我也面临着类似的问题,在任何地方都找不到答案,但我最终想出了一些办法,所以这是我的答案,我做了这样的事情:
字符串
controllers是TextEditingControllers的列表,focusNode是FocusNode的列表。
基本上,将您的TextField Package 在KeyboardList中,这样您就可以监听退格键事件。处理输入不为空的情况,使用TextField的onChanged,以及输入为空的情况,使用KeyboardList。希望这对今天仍然有这个问题的人有所帮助!