如何在flutter中将焦点转移到下一个文本字段?

如何在flutter中将焦点转移到下一个文本字段?,第1张

如何在flutter中将焦点转移到下一个文本字段

找到了一种方法来实现它。

  1. 显示下一个图标而不是完成-将

    textInputAction
    参数设置为
    TextInputAction.next

  2. 使用

    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()方法中的initFocusNode并将其放置在父Widget的dispose()中。-@AntonDerevyanko

更新:如果没有

FocusNode
FocusScopeNode
,只需调用
FocusScope.of(context).nextFocus()
,看看CopsOnRoad解决方案的实现方法,就可以实现相同的目的。有关更多信息,请检查doc。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4974706.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存