VUE三級聯動的下拉框


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三級聯動


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM