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.说明
我的选择城市的页面在很多页面中都有 所以他是一个组件 可以放在任何页面 所以就出现了 你可以选择跳回的页面 相当于你从某个页面跳转到城市页面 会保存你跳转时的页面路径 所以我们现在就是需要注意的时 跳转回去 相当去你之前保存的页面
这个逻辑其实不难 大家有问题可以私信我