带制表符的Flutter表单导航-切换表单字段时如何避免空白

问题描述 投票:0回答:1

我正在尝试理解表单输入的波动-以及如何使用Tab键在字段之间导航。互联网上的一个示例建议采用以下模式:

但是,在第一个字段中输入文本时,如果按Tab键,则第一个字段的文本中会添加标签空白。似乎我做错了Flutter,或者Flutter中有一个错误(当制表符更改上下文时,显然应该由图书馆负责从表单文本中剪切制表符,对吗?)

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
      title: 'My app', // used by the OS task switcher
      home: Material(child: content())));
}

Widget content() {
  var _focus1 = FocusNode();
  var _focus2 = FocusNode();

  return Column(
    children: [
      TextField(
        focusNode: _focus1,
        textInputAction: TextInputAction.next,
      ),
      TextField(
        focusNode: _focus2,
        textInputAction: TextInputAction.next,
      ),
    ],
  );
}
flutter
1个回答
0
投票

我不知道为什么textInputAction不起作用,但是我在这里编写了一个解决方案:

    import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
      title: 'My app', // used by the OS task switcher
      home: Material(child: Test())));
}

class Test extends StatelessWidget {
  var _focus1 = FocusNode();
  var _focus2 = FocusNode();
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        TextField(
          focusNode: _focus1,
          textInputAction: TextInputAction.next,
          onSubmitted: (_) => FocusScope.of(context).requestFocus(_focus2),
        ),
        TextField(
          focusNode: _focus2,
          textInputAction: TextInputAction.next,
        ),
      ],
    );
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.