【发布时间】:2021-04-26 13:24:21
【问题描述】:
我有 2 个屏幕,
- 第一个屏幕包含一个列表视图,每个项目都有 onPressed 操作
- 第二屏包含按下项目的详细信息以及与第一屏具有相同列表视图的抽屉。
我在这里想要做的是,当用户进入详细信息屏幕并单击抽屉中的一个项目时,详细信息屏幕应该会弹出并使用新参数推回。
到目前为止的代码,
路线
GetPage(
name: '/market-detail',
page: () => MarketDetail(),
binding: MarketDetailBinding(),
),
绑定
class MarketDetailBinding extends Bindings {
@override
void dependencies() {
Get.lazyPut(() => MarketDetailController());
}
}
第一个屏幕中的点击操作
onTap: () {
Get.toNamed('market-detail',
arguments: {'market': market});
},
详细画面类
class MarketDetail extends GetView<MarketDetailController> {
final Market market = Get.arguments['market'];
}
点击操作详情屏幕侧边栏
onTap: () {
Get.back();
Get.back();
Get.toNamed('market-detail',
arguments: {'market': market});
},
首先Get.back()是关闭抽屉,然后移除路由并再次推回相同的路由,
预期行为,
MarketDetailController 应该从内存中删除并重新放置,
实际发生的事情
在我热重启应用程序(通过点击保存)之前,控制器只有在抽屉点击操作上被删除并且没有回到内存中。
如果有人理解它,请帮助我被困在这里。
【问题讨论】:
标签: flutter flutter-getx