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日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改