(js)vue项目根据省匹配市

(js)vue项目根据省匹配市

效果:
在这里插入图片描述

数据格式:

{
    "provinces": [
      {
        "name":"北京市",
        "level":"1",
        "code":"1100",
        "cities":[
          {
            "name":"北京市",
            "level":"1",
            "code":"1100"
          }
        ]
      }, 
      ...
      ...
	 {
        "name":"陕西省",
        "level":"1",
        "code":"6100",
        "cities":[
          {
            "name":"西安市",
            "level":"2",
            "code":"6101"
          },
          {
            "name":"铜川市",
            "level":"3",
            "code":"6102"
          },
          {
            "name":"宝鸡市",
            "level":"3",
            "code":"6103"
          },
          {
            "name":"咸阳市",
            "level":"3",
            "code":"6104"
          },
          {
            "name":"渭南市",
            "level":"3",
            "code":"6105"
          },
          {
            "name":"延安市",
            "level":"3",
            "code":"6106"
          },
          {
            "name":"汉中市",
            "level":"3",
            "code":"6107"
          },
          {
            "name":"榆林市",
            "level":"3",
            "code":"6108"
          },
          {
            "name":"安康市",
            "level":"3",
            "code":"6109"
          },
          {
            "name":"商洛市",
            "level":"3",
            "code":"6110"
          }
        ]
      },
   ]   
}      

组件:

<a-form-model-item label="省份" prop="province">
   <a-select v-model="tubeForm.province" placeholder="请选择" @change="provinceChanged">
     <a-select-option v-for="(item, index) in provinces" :key="index" :value="item.name">{{
       item.name
     }}</a-select-option>
   </a-select>
 </a-form-model-item>
 <a-form-model-item label="城市" prop="city">
   <a-select v-model="tubeForm.city" placeholder="请选择">
     <a-select-option v-for="(item, index) in chsh" :key="index" :value="item.name">{{
       item.name
     }}</a-select-option>
   </a-select>
 </a-form-model-item>
 
//1.引入数据源
import provinceCity from '@/assets/json/provinceCity.json'
//2.定义属性
data() {
	return: {
		provinces: [], //省
	     chsh: [], //市
	}
}
created() {
    this.provinces = provinceCity.provinces //页面创建完成先获取省
},
//3.逻辑处理
methods: {
	//省份选取事件
	provinceChanged(data) {
	  for (let a = 0; a < this.provinces.length; a++) {
	    if (data == this.provinces[a].name) {
	      this.chsh = this.provinces[a].cities
	    }
	  }
	},
}    

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值