在我的应用程序中,有很多TextField,例如超过50个。
class BoxFieldItem extends StatelessWidget {
BuildContext context;
final String title;
final String subtitle;
TextEditingController textControler;
BoxFieldItem(this.title,this.subtitle,){
textControler=new TextEditingController();
}
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: TextField(
textInputAction: TextInputAction.next,
controller: textControler,
/* onChanged: (String e) {
},*/
decoration: InputDecoration(
fillColor: Colors.lightBlue[40],
filled: true,
prefixIcon: Icon(Icons.person),
labelText: title,
hintText: subtitle,
hintStyle: TextStyle(fontSize: 12),
border:
OutlineInputBorder(borderRadius: BorderRadius.circular(10))),
),
);
}
}
我有这个Widget类,麻烦是当我使用它时:BoxFieldItem('Title','sub'),如果我滚动或单击下一步,输入的文本不正确? 我做错了什么
答案 0 :(得分:0)
取决于您的实现。我将创建一个widget
,将TextField
及其controller
包裹起来,然后在您的页面中,您只需要使用创建的小部件并通过构造函数提供不同的配置即可。
要监听TextField
中的更改,您只需提供要在页面中使用的回调即可。