美文网首页
城市三级联动

城市三级联动

作者: _喵了个喵_ | 来源:发表于2019-01-16 15:29 被阅读0次

    vue组件city,城市三级联动,两个接口,一个获取省接口,一个获取市区接口

    父组件:

        <city @addlist="getCity" :addList="addList" class="mb20"></city> 

        引入子组件

        import city from 'xxxxxx';

        components : {city}

        getCity(data) {

                    //从子组件中获取数据

                    this.addList.province = data.province;

                    this.addList.city = data.city;

                    this.addList.area = data.area;

                },

    子组件:

            <el-select v-model="addList.province" value-key="sysAreaCode" @change="getProvince($event)" placeholder="省">

                    <el-option v-for="item in provinceList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

            </el-select>

            <el-select v-model="addList.city"  value-key="sysAreaCode" @change="getProvince($event)" placeholder="市">

                    <el-option v-for="item in cityList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

                </el-select>

            <el-select v-model="addList.area"  value-key="sysAreaCode" @change="getProvince($event)" placeholder="区">

                    <el-option v-for="item in areaList" :key="item.sysAreaCode" :label="item.sysAreaName" :value="item"></el-option>

                </el-select>

        props: ["addList"],  //父组件通过props传递addList给子组件

        methods : {

            getProvince(e){

                      

                    //获取市区数据,然后赋值给对应的数组

                    var vm = this;

                     setTimeout(function() {

                                vm.$emit("addlist", vm.addList);  //注意要把数据通过emit传递给父组件

                        }, 10);

            }

        }

        mounted (){

            //通过省接口获取省级数据

        }

    相关文章

      网友评论

          本文标题:城市三级联动

          本文链接:https://www.haomeiwen.com/subject/mcspdqtx.html