You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中TextFormField的onSubmitted参数未定义问题求助

问题解决:TextFormField 报错“命名参数'onSubmitted'未定义”

问题原因很明确:TextFormField没有名为onSubmitted的命名参数,你需要替换成正确的回调参数名。

解决方案:使用onFieldSubmitted替代onSubmitted

直接修改参数名即可,这是Flutter中处理输入框提交事件的正确参数,当用户点击键盘提交按钮时会触发该回调。修改后的代码如下:

TextFormField(
  onFieldSubmitted: (value) {
    // 在这里编写你的密码提交逻辑
  },
  controller: _passcon,
  decoration: InputDecoration(
      labelText: 'Password',
      prefixIcon: Icon(Icons.lock)),
  obscureText: true,
  validator: (value) {
    if (value!.isEmpty) {
      return 'Please enter password';
    }
    return null;
  },
  onSaved: (value) => _password = value!,
),

补充:表单级别的提交处理

如果你的需求是在整个表单提交时统一处理逻辑,也可以通过外层Form组件的onSubmitted方法实现,示例代码:

Form(
  onSubmitted: () {
    // 这里编写整个表单的提交逻辑
  },
  child: TextFormField(
    // 你的输入框配置
    controller: _passcon,
    decoration: InputDecoration(
        labelText: 'Password',
        prefixIcon: Icon(Icons.lock)),
    obscureText: true,
    validator: (value) {
      if (value!.isEmpty) {
        return 'Please enter password';
      }
      return null;
    },
    onSaved: (value) => _password = value!,
  ),
)

内容的提问来源于stack exchange,提问作者Ashrafi Abir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:55:31