flutter - 防止Flutter中按下回车键时TextFormField失去焦点

标签 flutter flutter-web

我在 Flutter 应用中有一个 TextFormField,我不希望它在用户按 Enter 键时失去焦点(这是默认行为)。我尝试了一些涉及为字段提供 FocusNode 的操作:

1) FocusNodeonKeyEvent (不起作用)

在这种方法中,条件从来都不是真的。

initState中:

_focusNode = FocusNode(onKeyEvent: (node, event) {
  if (event.logicalKey == LogicalKeyboardKey.enter) {
    return KeyEventResult.handled;
  }
  return KeyEventResult.ignore;
});

2) FocusNoderequestFocus (有效)

这种方法有效,但感觉很hack。我想知道是否有更简单或更直接的方法。

initState中:

_focusNode = FocusNode();

构建中:

TextFormField(
  focusNode: _focusNode,
  onFieldSubmitted: (_) => _focusNode.requestFocus(),
);

最佳答案

您需要设置textInputAction参数,

TextField(
  textInputAction: TextInputAction.none,
  ...
)

关于flutter - 防止Flutter中按下回车键时TextFormField失去焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69564157/

相关文章:

android - image_picker_android :debugUnitTestRuntimeClasspath

regex - 如何在WhitelistingTextInputFormatter的正则表达式中允许单引号?

flutter - Gif 没有得到动画 flutter web

flutter - 如何修复 Flutter 期望类型为 'Map<String, dynamic>' 的值,但得到类型为 'List<dynamic>' 的值

Flutter Navigator 2.0 通过 Navigator() 路由

flutter - 创建Flutter库以支持Web和移动

Flutter Web - SelectableText 小部件中缺少复制选项

debugging - Dart DevTools显示 "Connect to a running app"

flutter - 从Firestore集合返回<T>的列表

json - 在 Flutter 中解析 JSON 导致对象字段的 NULL 值