生成后颤振显示模态底页

时间:2020-11-05 21:51:21

标签: flutter dart flutter-showmodalbottomsheet

正如标题所述,我有一个String参数,当我加载Home Stateful Widget时,如果参数不为null,我想打开此底页。

据我了解,我无法在Home小部件的构建功能中调用showModalBottomSheet(),因为它在构建Home小部件时无法开始构建底页,因此,有一种方法可以立即调用构建Home Widget之后?

2 个答案:

答案 0 :(得分:1)

这是一种方法:

const Count = () => {
  const [Hayko, setHayko] = useState('foo');

  return (
    <>
      <div>{Hayko}</div>
      <button onClick={() => setHayko(prompt('enter my name'))}>Change me</button>
    </>
  );
}

答案 1 :(得分:1)

解决方案之一可能是使用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
  }