我有一个有4个选项卡的页面。
优惠--->这显示了所有可飞行的报价。索引=0
已收集的报价--->显示我们收集的所有报价。索引=1
我的优惠--->我已添加的报价。索引=2
查看优惠--->只是为了检查我是否有所需的优惠券。索引=3
当我们在表1中收集报价时,我们会转到表2,向用户显示报价已收集并且在我的收藏中。选定的选项卡变为蓝色,所有其他选项卡变为白色。我通过传递布尔标志来实现这一点。这是它的代码
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: ((context) => OffersScreenPage(
getIndex: 1,
offers: false,
collection: true,
shopoffers: false,
checkoffers: false,
))));
当我在终端和APK中运行它时,这都很好。
我的问题是,当我在选项卡3中编辑我的报价时,即我创建的报价(索引=2),我必须刷新页面,以便使用以下代码路由到同一选项卡:
setState(() {
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: ((context) => OffersScreenPage(
getIndex: 2,
offers: false,
collection: false,
shopoffers: true,
checkoffers: false,
))));
});
通过这种方式,再次调用api,并更新我添加的优惠。
即将出现的问题是,只有当我在终端中运行此代码时,它才能工作。APK中发生的事情是,实际打开的页面是标签号2,索引1是“我的收藏标签”,蓝色标签是“我创建的优惠”。所以它基本上在2号标签上,但显示它在3号标签上。
因此,当我将Tab从Tab 1更改为>选项卡2在终端代码和APK中工作良好,但当我执行选项卡3->选项卡3是选项卡3->选项卡2。我希望我说清楚了。
如何删除此问题?或者有没有其他方法可以调用我的api来刷新数据。