切换导航
{{systemName}}
{{ info.Title }}
{{info.Title}}
{{ menu.Title }}
{{menu.Title}}
登录
|
退出
搜索
flutter表单输入框
作者:ych
### 表单输入框案例 ``` class InputDemo extends StatefulWidget { const InputDemo({Key? key}) : super(key: key); @override State
createState() => _InputDemoState(); } class _InputDemoState extends State
{ GlobalKey _key = GlobalKey
(); TextEditingController _user=TextEditingController(); TextEditingController _pass=TextEditingController(); FocusNode _u=FocusNode(); FocusNode _p=FocusNode(); FocusScopeNode _focusScopeNode=FocusScopeNode(); @override void dispose() { // TODO: implement dispose super.dispose(); _user.dispose(); _pass.dispose(); _p.dispose(); _u.dispose(); if(_focusScopeNode!=null) _focusScopeNode.dispose(); } @override Widget build(BuildContext context) { return Form( key: _key, child: Column( children: [ TextFormField( autofocus: true, focusNode: _u, controller: _user, onChanged: (v){ debugPrint(v); }, decoration:const InputDecoration( prefixIcon: Icon(Icons.person), labelText: "用户名", hintText: "用户名或邮箱或手机", ), validator:(v){ if(v==null||v.isEmpty){ return "账号必须输入!"; } }, textInputAction: TextInputAction.next, onFieldSubmitted: (v){ debugPrint(v); }, ), const SizedBox(height: 16,), TextFormField( focusNode: _p, controller: _pass, onChanged: (v){ debugPrint(v); }, decoration:const InputDecoration( prefixIcon: Icon(Icons.lock), labelText: "密码", hintText: "请输入密码", ), validator:(v){ if(v==null||v.length<=5){ return "密码必须输入且大于5!"; } }, textInputAction: TextInputAction.send, obscureText: true, ), const SizedBox(height: 16,), ElevatedButton( onPressed:(){ // if(_focusScopeNode==null){ // _focusScopeNode=FocusScope.of(context); // } // _focusScopeNode.requestFocus(_u); // _focusScopeNode.unfocus(); debugPrint((_key.currentState as FormState).validate().toString()); }, child:const Text("提交"), ), ], ),); } } ```
相关推荐
flutter全局状态管理和MVVM
flutter开发中的几种按钮
Flutter布局和嵌套控件
flutter调用其他页面的widget
flutter点击事件
flutter开发中的图片Icon
flutter进度指示器
flutter路由设置
flutter开关和复选框
评论区
先去登录
版权所有:机遇屋在线 Copyright © 2021-2025 jiyuwu Co., Ltd.
鲁ICP备16042261号-1