1.需求?
当我选中了某个城市 这个页面肯定 从某个页面跳转过来的 此时我先选择了城市 再跳转回去 所以有一个问题就是如何写这个逻辑
2.实现
//当前城市页面
onMounted(() => {
const instance: any = Taro.getCurrentInstance();
if (instance.router.params.url) {
sourceUrl.value = decodeURIComponent(instance.router.params.url);
}
});
//改变选择城市的按钮
const onChangeItem = (item) => {
locationStore.setSelectCityinfo(item);
toSourceUrl();
};
//返回跳转过来的页面 逻辑
const toSourceUrl = () => {
const url = sourceUrl.value;
if (!url) {
Taro.navigateBack();
return;
}
const tabbarPageList = [ //你可以选择将跳转城市的按钮放在的页面
"/pages/index/index",
];
if (tabbarPageList.includes(url)) {
Taro.switchTab({
url: sourceUrl.value,
});
} else {
Taro.redirectTo({
url: sourceUrl.value,
});
}
};
3.说明
我的选择城市的页面在很多页面中都有 所以他是一个组件 可以放在任何页面 所以就出现了 你可以选择跳回的页面 相当于你从某个页面跳转到城市页面 会保存你跳转时的页面路径 所以我们现在就是需要注意的时 跳转回去 相当去你之前保存的页面
这个逻辑其实不难 大家有问题可以私信我