如何在Flatter中检测TextFormField上的键盘事件?如果用户删除最后一个字母并再次按下删除按钮,光标应跳回上一个TextFormField.
我想实现一个Pin-Enter屏幕,类似于那个屏幕.
https://mobile-solutions.ingenico.com/wp-content/uploads/IMG_022.png
如何在Flatter中检测TextFormField上的键盘事件?如果用户删除最后一个字母并再次按下删除按钮,光标应跳回上一个TextFormField.
我想实现一个Pin-Enter屏幕,类似于那个屏幕.
https://mobile-solutions.ingenico.com/wp-content/uploads/IMG_022.png
onChange
And FocusScope
for set focus此处,当您删除第二个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");
},
)
]);
}