Как изменить установленное значение текстового поля

Итак, у меня есть TextFormField, и у него есть установленное значение. Однако, когда я пытаюсь изменить его значение, вводя Feild, оно просто возвращается к указанному значению. Это мой код:

      TextFormField(
                onEditingComplete: () {

                  FocusScope.of(context).unfocus();
                  setState(() {
                    
                    // THIS IS WHERE I NEED TO CHANGE ITS VALUE

                  });

                },
                
                controller: _titleController..text = newTask.title, //newTask IS AN OBJECT
                cursorHeight: 23.0,
                decoration: InputDecoration(
                  disabledBorder: UnderlineInputBorder(),
                  border: OutlineInputBorder(),
                  hintText: "Enter Text",
                  labelText: "Title",
                  labelStyle: TextStyle(
                    fontSize: 20.0
                  ),
                ),
              ),

Мне нужно как-то установить _titleController.text к значению, которое находится в поле, когда enter или нажата кнопка с галочкой - но я не могу просто сделать _titleController.text = _titleController.text;по понятным причинам. Пожалуйста помоги. Прокомментируйте, если вам нужны подробности.

2 ответа

Вы присвоить значение newTask.title к _titleController.text

      controller: _titleController..text = newTask.title, //newTask IS AN OBJECT

Сделай это:

      controller: _titleController

измените его на это:

      @override
  void initState() {
    super.initState();
   _titleController.text = newTask.title;
  }
.
.
.
.
.
//And in your TextFormField
controller: _titleController,
Другие вопросы по тегам