[英]Flutter Text Form Field
如果第一个以 a 开头,我想隐藏第二个文本表单域 如果我在第一个文本表单域中写任何以 a 开头的单词,则第二个消失
TextFormField(
controller: firstColorController,
decoration:const InputDecoration(
border: OutlineInputBorder(),
hintText: "first color"
),
validator: (query){
if(query!.isEmpty){
return "color can't be empty";
}else if(query.trim().length<5||query.trim().length>9){
return "colors can't be less than 5 chars or greater than 9 chars";
}
else if(checkFirstColor(query.trim())){
return cubit.errorMessage;
}
},
),
const SizedBox(height: 15,),
if(firstColorController.text.startsWith("a"))
TextFormField(
controller: secondColorController,
decoration:const InputDecoration(
border: OutlineInputBorder(),
hintText: "second color"
),
validator: (value){
if(value!.isEmpty){
return "value can't be empty";
}
return null;
},
),
这是一个例子。
bool secondVisible = true;
TextEditingController firstCtl = TextEditingController();
TextEditingController secondCtl = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: [
TextFormField(controller: firstCtl, onChanged: (){
setState(() {
secondVisible = firstCtl.text.startsWith('a');
});
},),
Visibility(
visible: secondVisible,
child: TextFormField(controller: secondCtl)
),
],
),
),
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.