我是新来扑。
我建立使用以下部件多个文本输入的表格:,TextFormField。出现不显示“下一步”(这应重点转移到下一个字段)领域的行动键盘代替它的是“完成”行动(其中隐藏keyborad)。
我看着在官方的文档任何提示,没有发现任何直接的是可以做到的。我虽然登上FocusNode(cookbook,api doc)。它提供了机制的一些按钮或应用上的任何其他行动转移焦点,但我希望它是键盘。
找到一种方法来实现它。
textInputAction
参数TextInputAction.next
onFieldSubmitted
回调要求下一场焦点节点。
class FormWidget extends StatelessWidget{
final focus = FocusNode();
@override
Widget build(BuildContext context) {
return Form(
child: SingleChildScrollView(
padding: EdgeInsets.symmetric(horizontal: 16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
TextFormField(
textInputAction: TextInputAction.next,
autofocus: true,
decoration: InputDecoration(labelText: "Input 1"),
onFieldSubmitted: (v){
FocusScope.of(context).requestFocus(focus);
},
),
TextFormField(
focusNode: focus,
decoration: InputDecoration(labelText: "Input 2"),
),
],
),
),
);
}
}
编辑:在文档(flutter.io/docs/cookbook/forms/focus)说, - 我们还需要管理FocusNode生命周期。因此,在init()方法初始化FocusNode和父控件的Dispose()方法处理。 - @AntonDerevyanko