【问题标题】:Flutter - TextField controller not updating after textfield changesFlutter - 文本字段更改后文本字段控制器未更新
【发布时间】: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,
                  ),
                ),
              ), 
            ],
          ),
       ]
     )
  )
}

我认为文本字段的控制器会在每次其文本属性更改时更新,但似乎并非如此

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    也许尝试更新 setState 方法中的文本。

    setState(() {
    })
    

    【讨论】:

      【解决方案2】:

      好的,我解决了这个问题。我只是忘了手动更新Contact 对象。

      _addContact(){
          Contact contact = new Contact();
          buildShowRoundedModalBottomSheet(
            context, 
            'Add contact', 
            editContact(contact),
            'contact',
            (){
              contact.name = contact._contactNameController.text;
              _updateContactList(contact);
            } 
          );
      
        }
      

      真丢脸。希望它会帮助别人:D

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-27
        • 1970-01-01
        • 1970-01-01
        • 2021-04-10
        • 2014-05-08
        • 1970-01-01
        • 2022-09-29
        • 1970-01-01
        相关资源
        最近更新 更多