zoukankan      html  css  js  c++  java
  • Vue+Element-ui+二级联动封装组件

                   

    通过父子组件传值

    父组件:

     1 <template>
     2 <linkage :citysList="citysList" :holder="holder" @saveId="saveId"></linkage>
     3 </template>
     4 <script>
     5 import linkage from './common/linkage'
     6   export default {
     7     components:{
     8       linkage
     9     },
    10     data() {
    11       return {
    12           citysList:[],
    13             holder:{
    14               "province":"",
    15               "city":""
    16             },
    17             provinceAreaId:null,// 省地区Id
    18             townAreaId:null,// 市地区Id
    19             provinces: [],// 省地区
    20             citys:[],// 市地区
    21             city: '',// 市地区
    22             province: '',// 省地区
    23             }
    24         },
    25         methods: {
    26           saveId(value){
    27             if(value[0]!==''){
    28               this.provinceAreaId = value[0]
    29               this.townAreaId = null
    30             }
    31             if(value[1]){
    32               this.townAreaId = value[1]
    33             }
    34             this.initData()// 初始化查询接口
    35           },
    36           chooseCityClear(){
    37             this.addArray.provinceAreaName = '',
    38             this.addArray.townAreaId = null
    39             this.addArray.townAreaName = ''
    40           }
    41         },
    42     }
    43 </script>

    子组件:

     1 <template>
     2     <div class="area">
     3         <el-select v-model="citys" :placeholder="'请输入'+holder.province" @change="cityChange($event)" value-key="id" clearable style="margin-right:10px;">
     4             <el-option v-for="item in citysList" :key="item.areaName" :label="item.areaName" :value="item"></el-option>
     5         </el-select>
     6         <el-select v-model="areas" :placeholder="'请输入'+holder.province" @change="areaChange($event)" value-key="id" clearable style="">
     7             <el-option v-for="item in areasList" :key="item.areaName" :label="item.areaName" :value="item"></el-option>
     8         </el-select>
     9     </div>
    10 </template>
    11     
    12 <script>
    13     export default {
    14         props:{
    15             citysList:{
    16                 type: Array,
    17                 default:null
    18             },
    19             holder:{
    20                 type:Object,
    21                 default:null
    22             }
    23         },
    24         data() {
    25             return {
    26                 citys:"",
    27                 areasList:[],
    28                 areas:"",
    29                 provinceAreaId:null,// 省地区Id
    30                 townAreaId:null,// 市地区Id
    31                 saveArray:[]
    32             }
    33         },
    34         methods:{
    35             cityChange(values){
    36                 if(!values){
    37                     debugger
    38                     this.areas = ''
    39                     this.provinceAreaId = null
    40                     this.areasList = []
    41                     this.townAreaId = null
    42                     this.saveArray[0]=null
    43                     this.saveArray[1]=null
    44                 }else{
    45                     this.areasList = values.nodes
    46                     this.townAreaId = null
    47                     this.provinceAreaId = values.id
    48                 }
    49                 this.$emit("saveId",this.saveArray)
    50             },
    51             areaChange(values){
    52                 this.townAreaId = values.id
    53                 this.saveArray[1]=this.townAreaId
    54                 this.$emit("saveId",this.saveArray)
    55             }
    56         }
    57     }
    58 </script>
    59     
    60 <style scoped>
    61     .area{
    62         display: flex;
    63     }
    64 </style>
  • 相关阅读:
    Cmake编译SDL2
    glog的使用
    win32下编译glog
    快速阅读《QT5.9 c++开发指南》1
    applyColorMap()研究(如果我对现有的colormap不满意,那么如何具体来做)
    如何判断轮廓是否为圆
    libopencv_shape.so.3.0: cannot open shared object file: No such file or directory 解决笔记
    OpenCV和RTSP的综合研究
    识别复杂的答题卡1(主要算法)
    识别简单的答题卡(Bubble sheet multiple choice scanner and test grader using OMR, Python and OpenCV——jsxyhelu重新整编)
  • 原文地址:https://www.cnblogs.com/CinderellaStory/p/10906476.html
Copyright © 2011-2022 走看看