使用其他 TextField TextEditingController.text 值 + 额外字符串更新 TextEditingController.text
Update TextEditingController.text with other TextFields TextEditingController.text values + extra String
我的应用程序中有名字和姓氏TextFormField
我希望禁用的电子邮件字段使用 name field
和 last name field
+ company domain
中写入的值自动完成:@company.com
TextEditingController emailTextController = TextEditingController();
TextEditingController nameTextController = TextEditingController();
TextEditingController lastNameTextController = TextEditingController();
- 如果我初始化
emailTextController
等于 nameTextController
它有效,两个值都会改变
@override
onInit() async {
emailTextController = emailNameTextController;
super.onInit();
}
但我想要的是 emailTextController.text 最后还有 @company.com
@override
onInit() async {
emailTextController.text = emailNameTextController.text + '@company.com';
super.onInit();
}
但 email field
的值不会更新为来自 nameField
的值
您可以在 lastName textfield
上使用 onSubmited
或 onChanged
TextField(
controller: lastNameTextController ,
onSubmitted: (text) {
emailTextController.text = nameTextController.text + lastNameTextController.text + '@company.com';
},
//OR us this
onChanged(){
emailTextController.text = nameTextController.text + lastNameTextController.text + '@company.com';
},
textInputAction: TextInputAction.send,
)
我的应用程序中有名字和姓氏TextFormField
我希望禁用的电子邮件字段使用 name field
和 last name field
+ company domain
中写入的值自动完成:@company.com
TextEditingController emailTextController = TextEditingController();
TextEditingController nameTextController = TextEditingController();
TextEditingController lastNameTextController = TextEditingController();
- 如果我初始化
emailTextController
等于nameTextController
它有效,两个值都会改变
@override
onInit() async {
emailTextController = emailNameTextController;
super.onInit();
}
但我想要的是 emailTextController.text 最后还有 @company.com
@override
onInit() async {
emailTextController.text = emailNameTextController.text + '@company.com';
super.onInit();
}
但 email field
的值不会更新为来自 nameField
您可以在 lastName textfield
onSubmited
或 onChanged
TextField(
controller: lastNameTextController ,
onSubmitted: (text) {
emailTextController.text = nameTextController.text + lastNameTextController.text + '@company.com';
},
//OR us this
onChanged(){
emailTextController.text = nameTextController.text + lastNameTextController.text + '@company.com';
},
textInputAction: TextInputAction.send,
)