【发布时间】:2019-07-22 09:07:34
【问题描述】:
我想更新 TextEditingController.text 属性的值。 这是我的代码:
_addContact(){
Contact contact = new Contact();
buildShowRoundedModalBottomSheet(
context,
'Add contact',
editContact(contact),
'contact',
() => _updateContactList(contact)
);
}
这里发生了什么:首先我创建了联系人。然后我调用底部表,即渲染,给它底部表的内容(TextField,由editContact 返回)。因此,然后在模拟器中我编辑联系人字段(具有 TextEditingController)。当我从 EditContact 回来时,我的联系人还没有被编辑。还是有默认值的:/
editContact(Contact contact){
return Padding(
padding: const EdgeInsets.only(top: 12.0),
child: Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(
width: MediaQuery.of(context).size.width * 0.9,
child: TextField(
controller: contact._contactRelationController,
decoration: InputDecoration(
hintText: contact._contactRelationController.text,
),
),
),
],
),
]
)
)
}
我认为文本字段的控制器会在每次其文本属性更改时更新,但似乎并非如此
【问题讨论】: