首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ModalBottomSheet pop后更新原始页面的状态?

在Flutter中,可以通过以下步骤在ModalBottomSheet弹出后更新原始页面的状态:

  1. 在原始页面中定义一个状态变量,用于保存需要更新的数据。
代码语言:txt
复制
var data = '初始数据';
  1. 在原始页面中创建一个函数,用于接收ModalBottomSheet返回的数据并更新状态。
代码语言:txt
复制
void updateData(String newData) {
  setState(() {
    data = newData;
  });
}
  1. 在原始页面中调用showModalBottomSheet函数弹出ModalBottomSheet,并传递updateData函数作为回调。
代码语言:txt
复制
void _showModalBottomSheet() {
  showModalBottomSheet(
    context: context,
    builder: (BuildContext context) {
      return Container(
        child: Column(
          children: [
            Text('ModalBottomSheet内容'),
            RaisedButton(
              child: Text('更新数据'),
              onPressed: () {
                Navigator.pop(context, '更新后的数据');
              },
            ),
          ],
        ),
      );
    },
  ).then((value) {
    updateData(value);
  });
}
  1. 在ModalBottomSheet中,通过Navigator.pop函数返回更新后的数据。
  2. 在原始页面中通过then函数获取返回的数据,并调用updateData函数更新状态。

这样,当ModalBottomSheet弹出后,点击按钮更新数据并关闭ModalBottomSheet时,原始页面的状态会被更新。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券