У меня есть TextField()
и контроллер, который я передаю его TextField
контроллеру.Моя проблема в том, что каждый раз, когда я нажимаю «Готово» на клавиатуре, он очищает мой текст.
Я следил за этим вопросом: Кнопка «Завершение клавиатуры» приводит к исчезновению содержимого текстового поля Вопрос для решения моей проблемы, но у меня ничего не получается.Я не знаю, поэтому снова ставлю этот вопрос в StackOverflow.
МОЙ КОД:
class ReferralPage extends StatelessWidget {
final TextEditingController controller = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Container(
margin: EdgeInsets.only(top: 40.0, left: 16.0, right: 16.0),
child: Card(
color: Colors.white,
child: Padding(
padding: EdgeInsets.all(24.0),
child: TextField(
controller: controller,
cursorColor: Theme.of(context).primaryColor,
decoration: InputDecoration(hintText: 'Referral Code'),
)
)
),
decoration: BoxDecoration(boxShadow: [
new BoxShadow(color: Color.fromRGBO(173, 179, 191, 0.3), blurRadius: 20.0, offset: new Offset(0, 12))
])
)
);
}
}
Как видите, мой TextEditingController()
находится не внутри Widget build
так что смысла в этом нет.
Единственное решение, которое я нашел для этой проблемы, состояло в том, чтобы удалить контроллер, но я не хочу этого делать, я хочу использовать свой контроллер для других целей.Я не знаю, почему это происходит.
Любая помощь будет оценена.Спасибо:)