构建后颤振显示模态底部表单

Leo*_*ani 5 dart flutter flutter-showmodalbottomsheet

正如标题所示,我有一个 String 参数,当我加载 Home Stateful Widget 时,如果参数不为空,我想打开这个底部工作表。

据我了解,我无法调用showModalBottomSheet()Home小部件的构建函数,因为它在构建Home小部件时无法开始构建底部工作表,那么,有没有办法在构建Home小部件后立即调用它?

小智 15

解决方案之一可能是使用 SchedulerBinding 实例的 addPostFrameCallback 函数。这样您就可以在构建 Home 小部件后调用 showModalBottomSheet。

import 'package:flutter/scheduler.dart';

...

  @override
  Widget build(BuildContext context) {
    SchedulerBinding.instance.addPostFrameCallback((timeStamp) {
      showModalBottomSheet<void>(
        context: context,
        builder: (BuildContext context) {
          //Your builder code
        },
      );
    });

    //Return widgets tree for Home
  }
Run Code Online (Sandbox Code Playgroud)