customSelectorsDictionary.vue 842 Bytes
Newer Older
1 2 3 4
<template>
  <el-select v-if="options" v-model="selectVal" placeholder="请选择">
    <el-option
      v-for="item in options"
dcy's avatar
dcy committed
5 6
      :key="item[valueKey]"
      :label="item[labelKey]"
dcy's avatar
dcy committed
7
      :value="parseInt(item[valueKey])">
8 9 10 11 12 13 14 15
    </el-option>
  </el-select>
</template>

<script>
export default {
  name: "customSelectorsDictionary",
  props:{
dcy's avatar
dcy committed
16 17 18 19
    options:{
      type:Array,
      default:()=>[]
    },
dcy's avatar
dcy committed
20
    value:[String , Number],
dcy's avatar
dcy committed
21 22 23 24 25 26 27 28
    labelKey:{
      type:String,
      default:'label'
    },
    valueKey:{
      type:String,
      default: 'value',
    },
29 30 31 32 33 34
  },
  data(){
    return{
      selectVal:''
    }
  },
dcy's avatar
dcy committed
35 36 37
  mounted() {
    this.selectVal = this.value;
  },
38 39 40
  watch:{
    selectVal(val){
      this.$emit('input',val)
dcy's avatar
dcy committed
41 42 43
    },
    value(val){
      this.selectVal = val;
44 45 46 47 48 49 50
    }
  }
}
</script>

<style scoped lang="scss">
</style>