Flutter onClosing callback for showModalBottomSheet

前端 未结 8 1165
梦如初夏
梦如初夏 2021-02-04 00:50

I have a showModalBottomSheet like the below, which I understand to inherit from BottomSheet (right?)

      showModalBottomSheet

        
相关标签:
8条回答
  • 2021-02-04 01:46

    showBottomSheet does not return a future, now it returns a PersistentBottomSheetController

      var _scaffoldKey = GlobalKey<ScaffoldState>();
      PersistentBottomSheetController persistentBottomSheetController;
    
     persistentBottomSheetController = _scaffoldKey.currentState.showBottomSheet<void>(
        (context)=>Container(
    
        )
     );
    
     persistentBottomSheetController.closed.then(_closeModal);
    
      void _closeModal(void value) {
        print('modal closed');
      }
    
    0 讨论(0)
  • 2021-02-04 01:50

    Perhaps it's not the best solution, but showModalBottomSheet return a "Future" so you can used it.

    For example:

    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');
    }
    
    0 讨论(0)
提交回复
热议问题