Element的select的实现省市区级联

因为有之前的经验教训,可能是layui和vue的冲突,一个简单的级联饶了我一天的时间

layui的select实现省市区级联

估计以后打死我都不想用layui了

所以新做的增删改查页面统一用Element了,不知道比layui简单多少

1、页面html

            <el-form-item label=项目所在地>
                <el-select  style="width: 100px;" v-model="form2.province" clearable @change="getCity" value-key="dcode"  prop="province">
                        <el-option
                        v-for="item in provinceData"
                    :key="item.index"
                    :label="item.distname"
                    :value="item">
                        </el-option>
                </el-select>-
                <el-select  style="width: 100px;" v-model="form2.city" clearable  @change="getTown" value-key="dcode" prop="city">
                        <el-option
                        v-for="item in cityData"
                    :key="item.index"
                    :label="item.distname"
                    :value="item">
                        </el-option>
                </el-select>-
                <el-select  style="width: 100px;" v-model="town" clearable value-key="dcode"  prop="town">
                        <el-option
                        v-for="item in townData"
                    :key="item.index"
                    :label="item.distname"
                    :value="item">
                        </el-option>
                </el-select>
            </el-form-item>

2、data声明

3、change方法

            getProvince(){
                this.axios.get("/qsmonitor/common/dist?pcode=")
                    .then(res => {
                        this.provinceData = res.data.data;
                    });
            },
            getCity(item){

                let dcode=item.dcode;
                this.form2.city='';
                this.town='';
                this.cityData=[];
                this.townData=[];
                this.axios.get("/qsmonitor/common/dist?pcode="+dcode)
                    .then(res => {
                        this.cityData = res.data.data;
                        this.$forceUpdate();
                    });
            },
            getTown(item){
                let dcode=item.dcode;
                this.town='';
                this.townData=[];
                this.axios.get("/qsmonitor/common/dist?pcode="+dcode)
                    .then(res => {
                        this.townData = res.data.data;
                        this.$forceUpdate();
                    });
            },

注意:上边给option的value赋的是一个对象值,需要设定value-key的值

因为页面中的省市区县是作为查询条件取得的distname的值,但是级联时候用到的是dcode,所以相比直接赋value值,这里边查询和级联都多了一层操作

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟茜

随多随少随你心意^-^

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值