城市三级联动

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 (){

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

    }

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容