Taro +vue3 中 实现 选择城市页面 主要逻辑市 选择了某个城市返回之前的页面

Taro +vue3 中 实现 选择城市页面 主要逻辑市 选择了某个城市返回之前的页面_第1张图片

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.说明

Taro +vue3 中 实现 选择城市页面 主要逻辑市 选择了某个城市返回之前的页面_第2张图片

我的选择城市的页面在很多页面中都有 所以他是一个组件 可以放在任何页面 所以就出现了 你可以选择跳回的页面 相当于你从某个页面跳转到城市页面 会保存你跳转时的页面路径 所以我们现在就是需要注意的时 跳转回去 相当去你之前保存的页面

这个逻辑其实不难 大家有问题可以私信我

你可能感兴趣的:(taro)