【发布时间】:2026-02-15 06:35:01
【问题描述】:
这是我的海关输入文本小部件
```
TextInputLayout(
focusNode: focusNodeEmail,
controller: emailController,
label: AppLocalizations.of(context)
.translate("worker_id_hash"),
iconData: Icons.email,
errorText:
_validate ? 'Please Enter Valid Worker ID' : null,
inputType: TextInputType.emailAddress,
inputAction: TextInputAction.done,
textCapitalization: false,
onTextChange: () {},
),
```
怎么做? :在键盘按钮“完成”上单击转到新页面
```TextFormField(
focusNode: widget.focusNode,
controller: widget.controller,
textInputAction: widget.inputAction,
textCapitalization: widget.textCapitalization
? TextCapitalization.sentences
: TextCapitalization.none,
keyboardType: widget.inputType,
enabled: widget.enable == null ? true : false,
initialValue: widget.initialValue == null ? null : widget.initialValue,
onChanged: (value) {
widget.onTextChange();
setState(() {
widget.errorText = null;
});
},
onEditingComplete: () {
if (widget.inputAction == TextInputAction.done) {
FocusScope.of(context).unfocus();
} else {
FocusScope.of(context).requestFocus(widget.nextFocusNode);
}
},```
这个小部件在整个项目中使用,所以现在我如何更改 onEditingComplete 方法以导航到新页面
【问题讨论】:
-
我只想在完成点击时调用一种方法
-
您可以将类似
widget.onTextChange();的函数传递给您的onEditingComplete
标签: flutter input submit navigator