我在iOS键盘上遇到问题。每当我选择其他表单字段时,键盘都会保持以前的状态。我的意思是,如果我在前一个字段上输入的最后一个数字是数字,则每当我单击另一个字段时,键盘将停留在相同的数字输入上,而在Android上它将重置。我在两个字段上都将keyboardType指定为TextInputType.text。
import 'package:flutter/material.dart';
class FormView extends StatefulWidget {
@override
_FormViewState createState() => _FormViewState();
}
class _FormViewState extends State<FormView> {
final _formKey = GlobalKey<FormState>();
FocusNode firstNode = FocusNode();
FocusNode secondNode = FocusNode();
FocusNode thirdNode = FocusNode();
@override
Widget build(BuildContext context) {
return Form(
key: _formKey,
child: Column(
children: <Widget>[
TextFormField(
focusNode: firstNode,
keyboardType: TextInputType.text,
),
TextFormField(
focusNode: secondNode,
keyboardType: TextInputType.text,
),
TextFormField(
focusNode: thirdNode,
keyboardType: TextInputType.text,
),
],
),
);
}
}
我还尝试了onFieldSubmitted,在该方法中,我将当前的字段焦点取消聚焦,并请求下一个焦点,在这种情况下,它可以按预期工作并重置键盘。但是,如果我在onTap上执行相同的操作,则在字段之间切换时不会更改状态。