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
相关产品推荐
相关产品推荐

