一尘不染

showModalBottomSheet的Flutter onClosing回调

flutter

我有一个showModalBottomSheet类似下面的内容,我知道可以继承BottomSheet(正确吗?)

      showModalBottomSheet<void>(
        context: context,
        builder: (BuildContext context) {
          return Container(
            height: 260.0,
            child: Text('I am text')
          );
        },
      );

我想做的事:

我想知道(听)模态何时关闭,并对其采取行动。

我已经看到此onClosing回调:https
:
//docs.flutter.io/flutter/material/BottomSheet/onClosing.html

如何在上附加一个侦听器showModalBottomSheet,然后在其触发时采取相应的措施?


阅读 962

收藏
2020-08-13

共1个答案

一尘不染

也许这不是最佳解决方案,但是showModalBottomSheet返回一个“ Future”,因此您可以使用它。

例如:

void _showModal() {
    Future<void> future = showModalBottomSheet<void>(
      context: context,
      builder: (BuildContext context) {
        return Container(height: 260.0, child: Text('I am text'));
      },
    );
    future.then((void value) => _closeModal(value));
}
void _closeModal(void value) {
    print('modal closed');
}
2020-08-13