Flutter-加载小部件/页面时如何使用focusNode

问题描述 投票:0回答:1

我不熟悉Flutter,我正在为我的Flutter应用创建设置页面。在设置页面上,我正在使用formbuilder。当焦点位于“设置”页面(实际上是选项卡)上时,我想从Hive中存储的值填充表单的字段。显然focusNode是要走的路。但是,我看到的所有示例都是针对TextField,而不是Widget或Page本身。

任何人都可以通过一个很好的例子来指导我如何做到这一点吗?例如,如果页面/小部件被加载到移动屏幕上,则将显示一条消息。

flutter hive widget focus flutter-layout
1个回答
0
投票

您需要先创建一个有状态的窗口小部件,并且状态窗口小部件具有一个称为initState的方法,该方法在调用该窗口小部件的build方法之前被调用。 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(

    );
  }
}

© www.soinside.com 2019 - 2024. All rights reserved.