vue+element省市县的二级联动功能

Posted jun-qi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+element省市县的二级联动功能相关的知识,希望对你有一定的参考价值。

项目中有选择省市县的需求,先选择省,再选择县

解决这个需求也不是很难,总体思路就是看后端接口,

一般后端接口都是请求参数为 0 返回省的数据,不为 0 的话返回相对应的市的数据

技术图片

 

template代码:

 1 <el-form-item label="所属地区: ">
 2           <el-select
 3             v-model="form.province"
 4             @change="getRegion(form.province)"
 5             placeholder="请选择省份"
 6             style="width: 165px;"
 7           >
 8             <el-option
 9               :label="item1.region_name"
10               :value="item1.region_id"
11               v-for="(item1,i) in provinceList"
12               :key="i"
13             ></el-option>
14           </el-select>
15           <el-select
16             v-model="form.city"
17             placeholder="请选择城市"
18             style="width: 165px;margin-left:10px;"
19           >
20             <el-option
21               v-for="(item2,i) in cityList"
22               :key="i"
23               :label="item2.region_name"
24               :value="item2.region_id"
25             ></el-option>
26           </el-select>
27         </el-form-item>

script代码:

data数据声明:

 1  data() 
 2     return 
 3       form: 
 4         province: "",
 5         city: "",
 6       ,
 7       // 省市县的信息
 8       provinceList: [], //获取的一级数组数据
 9       cityList: [] //获取的二级数组数据
10     ;
11   ,

 

通过判断  region_id 来发请求获取数据

methods代码:

 1 async getRegion(id) 
 2       let _this = this;
 3       let data = 
 4         region_id: id
 5       ;
 6       this.form.city = "";
 7       if (id == 0) 
 8         const res = await this.$axios.post("/region/list",  ...data );
 9         _this.provinceList = res.data;
10        else 
11         const res = await this.$axios.post("/region/list",  ...data );
12         _this.cityList = res.data;
13       
14     ,

 

以上是关于vue+element省市县的二级联动功能的主要内容,如果未能解决你的问题,请参考以下文章

《JeecgBoot系列》 如何设计表单实现“下拉组件二级联动“ ? 以省市二级联动为例

JS省市二级联动

三级联动怎么回显 javaweb

JS实现省市二级联动

jQuery_完成省市二级联动

省市二级联动