ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

VUE三级联动的下拉框

2021-08-26 21:34:38  阅读:182  来源: 互联网

标签:cityItem VUE res formData pid CName 联动 countyItem 下拉框


1. 首先关于后台的代码,三级联动和二级联动没有区别也是通过字典字段的查询实现联动

//三级联动下拉框
        public List<City> GetCid(int pid)
        {
            return db.City.Where(m => m.ParentId == pid).ToList();
        }

2. 前台的代码还是比较麻烦的,要写三个方法

<tr>
            <td>籍贯</td>
            <td colspan="3">
                省
                <select v-model="formData.ProvinceId" v-on:change="getCity">
                    <option v-for="item in provinceItem" :value="item.CId">{{item.CName}}</option>
                </select>-
                市
                <select v-model="formData.CityId" v-on:change="getCounty">
                    <option v-for="item in cityItem" :value="item.CId">{{item.CName}}</option>
                </select>-
                县
                <select v-model="formData.CountyId">
                    <option v-for="item in countyItem" :value="item.CId">{{item.CName}}</option>
                </select>
            </td>
        </tr>
<script>
    let app = new Vue({
        el: "#app",
        data() {
            return {
                formData: {
                    ENumber: "",
                    EName: "",
                    ESex: "",
                    DId: "0",
                    EJob: "",
                    EPhone: "",
                    EMail: "",
                    ProvinceId: "0",
                    CityId: "0",
                    CountyId: "0",
                    Birthday: "",
                    Remark: ""
                },
                provinceItem: [],//省
                cityItem: [],//市
                countyItem:[]//县
            }
        },
        methods: {
            //省
            getProvince() {
                axios.get('/CRM/GetCid?pid=0').then(res => {
                    this.provinceItem = res.data;
                    this.provinceItem.unshift({ "CId": "0", "CName": "请选择" })
                })
            },
            //市
            getCity() {
                this.cityItem = [];
                this.countyItem = [];
                axios.get('/CRM/GetCid?pid=' + this.formData.ProvinceId).then(res => {
                    this.cityItem = res.data;
                    this.cityItem.unshift({ "CId": "0", "CName": "请选择" });
                    this.formData.CityId = this.cityItem[0].CId;
                })
            },
            //县
            getCounty() {
                this.countyItem = [];
                axios.get('/CRM/GetCid?pid=' + this.formData.CityId).then(res => {
                    this.countyItem = res.data;
                    this.countyItem.unshift({ "CId": "0", "CName": "请选择" });
                    this.formData.CountyId = this.countyItem[0].CId;
                })
            }
            
        },
        created: function () {
            this.getDept();
            this.getProvince();
        }

    })

</script>

以上就是VUE三级联动

标签:cityItem,VUE,res,formData,pid,CName,联动,countyItem,下拉框
来源: https://www.cnblogs.com/BaoLiAGou/p/15191565.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有