Flutter - Как использовать focusNode, когда загружен виджет / страница - PullRequest
0 голосов
/ 15 февраля 2020

Я новичок в Flutter и создаю страницу настроек для своего приложения. На странице настроек я использую formbuilder. Я хотел заполнить поля формы из хранилища значений в Hive, когда фокус попадет на страницу настроек (фактически, вкладка). Видимо focusNode это путь к go. Однако все примеры, которые я видел, - это фокус на TextFields, а не виджет или сама страница.

Может кто-нибудь подсказать мне хороший пример, как это сделать? Например, если страница / виджет загружается на мобильный экран, должно появиться сообщение.

1 Ответ

1 голос
/ 15 февраля 2020

Сначала необходимо создать виджет statefull, а виджет состояния имеет метод initState, который вызывается до вызова метода сборки этого виджета. focusNode может использоваться только с виджетами ввода

class SettingsScreen extends StatefulWidget {
  @override
  _SettingsScreenState createState() => _SettingsScreenState();
}

class _SettingsScreenState extends State<SettingsScreen> {

  bool _showDialog = false;
  @override
  void initState() {
    // TODO: implement initState

    // do your thing, perhaps call showDialog ?
     _showDialog=  true;
    super.initState();
  }

  @override
  Widget build(BuildContext context) {

    if(_showDialog) {
      showDilaog()
   }

    return Container(

    );
  }
}

...