W.x! 2023-02-19 17:07 采纳率: 86.1%
浏览 19
已结题

uniapp 省市选择 vue3

img

img

img

请问一下为什么我传的province值是空呢 然后就是跳转到选择城市的页面之后 我不知道要怎样写了 如何根据传入的值进行不同城市内容的渲染

  • 写回答

1条回答 默认 最新

  • CodeBytes 2023-02-19 17:24
    关注

    该回答引用ChatGPT

    选择省份的页面(Province.vue):

    
    <template>
      <div>
        <div v-for="(province, index) in provinces" :key="index">
          <span @click="goCity(province)">{{ province }}</span>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          provinces: ["广东省", "浙江省", "江苏省"]
        };
      },
      methods: {
        goCity(province) {
          this.$router.push({
            path: "/city",
            query: {
              province: province
            }
          });
        }
      }
    };
    </script>
    
    
    

    选择城市的页面(City.vue):

    
    <template>
      <div>
        <div v-for="(city, index) in filteredCities" :key="index">
          <span>{{ city }}</span>
        </div>
      </div>
    </template>
    
    <script>
    export default {
      props: {
        province: {
          type: String,
          required: true
        }
      },
      data() {
        return {
          cities: {
            "广东省": ["广州市", "深圳市", "珠海市"],
            "浙江省": ["杭州市", "宁波市", "温州市"],
            "江苏省": ["南京市", "苏州市", "无锡市"]
          }
        };
      },
      computed: {
        filteredCities() {
          return this.cities[this.province] || [];
        }
      }
    };
    </script>
    
    
    

    在路由中定义两个页面的路由:

    
    
    import Vue from "vue";
    import VueRouter from "vue-router";
    import Province from "./views/Province.vue";
    import City from "./views/City.vue";
    
    Vue.use(VueRouter);
    
    const routes = [
      {
        path: "/",
        redirect: "/province"
      },
      {
        path: "/province",
        name: "Province",
        component: Province
      },
      {
        path: "/city",
        name: "City",
        component: City,
        props: route => ({
          province: route.query.province
        })
      }
    ];
    
    const router = new VueRouter({
      mode: "history",
      base: process.env.BASE_URL,
      routes
    });
    
    export default router;
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月1日
  • 已采纳回答 2月21日
  • 创建了问题 2月19日

悬赏问题

  • ¥15 python点云生成mesh精度不够怎么办
  • ¥15 QT C++ 鼠标键盘通信
  • ¥15 改进Yolov8时添加的注意力模块在task.py里检测不到
  • ¥50 高维数据处理方法求指导
  • ¥100 数字取证课程 关于FAT文件系统的操作
  • ¥15 如何使用js实现打印时每页设置统一的标题
  • ¥15 安装TIA PortalV15.1报错
  • ¥15 能把水桶搬到饮水机的机械设计
  • ¥15 Android Studio中如何把H5逻辑放在Assets 文件夹中以实现将h5代码打包为apk
  • ¥15 使用小程序wx.createWebAudioContext()开发节拍器