【问题标题】:How can I change focus backwards when pressing keyboard clear key(x) in Flutter?在 Flutter 中按键盘清除键(x)时如何向后更改焦点?
【发布时间】:2021-07-29 17:08:26
【问题描述】:

这是我的代码,我使用的是 textformfield。这是用于 otp 输入的,所以每当用户单击清除按钮时,我都想专注于前一个文本字段。

TextFormField(
    controller: controller,
    autofocus: true,
    focusNode: focusNod,
    validator: (String value) {
      if (value.isEmpty) {
        return "";
      } else {
        setState(() {
          otp = one.text + two.text + three.text + 
          four.text;
          print("otp : " + otp.toString());
        });
        return null;
      }
    },
    onChanged: (String number) {
      if (number.isNotEmpty) {
        focus.requestFocus();
      }

      navigation();
    },
    keyboardType: TextInputType.number,
    inputFormatters: [
      FilteringTextInputFormatter.digitsOnly,
      LengthLimitingTextInputFormatter(1)
    ],
    style: TextStyle(color: Colors.white),
    decoration: InputDecoration(
      helperText: '',
      border: OutlineInputBorder(
          borderRadius: BorderRadius.circular(12),
          borderSide: BorderSide(color: Colors.green)),
      focusedBorder: OutlineInputBorder(
          borderRadius: BorderRadius.circular(12),
          borderSide: BorderSide(color: Colors.white)),
      errorBorder: OutlineInputBorder(
          borderRadius: BorderRadius.circular(12),
          borderSide: BorderSide(color: Colors.white)),
      focusedErrorBorder: OutlineInputBorder(
          borderRadius: BorderRadius.circular(12),
          borderSide: BorderSide(color: Colors.white)),
      enabledBorder: OutlineInputBorder(
          borderRadius: BorderRadius.circular(12),
          borderSide: BorderSide(color: Colors.white)),
    ),
    textInputAction: action,
    cursorColor: Color(0xFFFFFFFF),
  ),

【问题讨论】:

    标签: android flutter


    【解决方案1】:

    您应该尝试在您的 TextFormField 中添加 textInputAction: TextInputAction.previous,

    TextFormField(
    textInputAction: TextInputAction.previous,
    )
    

    【讨论】:

    • 我已将 TextField 限制设置为 one 。所以现在它在输入值时将焦点更改为下一个字段。同样,当按下清除键( x )时,我需要通过清除值来向后更改焦点
    猜你喜欢
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多