Вступить в клуб →
средняявопросFlutter и Dart: виджеты, рендер и асинхронность

Набранный текст в поле комментария стирается, когда приходит новое сообщение чата

Widget build(BuildContext context) {
  final controller = TextEditingController();
  return Column(children: [
    Expanded(child: MessagesList(messages)),
    TextField(controller: controller),
  ]);
}

Новые сообщения приходят через setState. В этот момент набранный текст исчезает, курсор прыгает в начало. Как исправить?

  • Создать контроллер в initState, закрыть в dispose
  • Передать controller.text в поле initialValue
  • Пометить контроллер модификатором final
  • Вызвать controller.clear() перед setState

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела