选择其他TextFormField

时间:2020-02-10 13:17:25

标签: flutter keyboard

我在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上执行相同的操作,则在字段之间切换时不会更改状态。

0 个答案:

没有答案