Я новичок во флаттере. Я хочу создать настраиваемое текстовое поле, которое автоматически добавляет текстовый контроллер.Но это не удалось, код:
class MyInput extends StatelessWidget {
MyInput(this.onChange) {
editingController = new TextEditingController();
editingController.addListener(this.onChange);
}
Function() onChange;
TextEditingController editingController;
@override
Widget build(BuildContext context) {
return TextField(controller: editingController);
}
}
, поэтому я использовал MyInput следующим образом:
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(
'You have pushed the button this many times:',
),
new Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
TextField(controller: editingController),
MyInput(_incrementCounter)
],
),
),
, но виджет не удалось, я не могу ничего вводить в текстовое поле по событию!!Интересно, должен ли виджет быть с состоянием, но я попытался, то же самое.