BaseDataSelect.vue 1.03 KB
Newer Older
姜雷 committed
1 2
<template>
  <el-select
3 4
    :clearable="clearable"
    :disabled="disabled"
姜雷 committed
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
    filterable
    :value="value"
    @change="changeHandle"
  >
    <el-option
      v-for="(item, index) in baseDataOptionsList"
      :key="index"
      :value="item.value"
      :label="item.name"
    ></el-option>
  </el-select>
</template>

<script>
import { mapGetters, mapActions } from 'vuex';
import baseDataMixin from './mixin.js';
import { selectTypeMapping } from '@/config';

export default {
  name: 'base-data-select',
  mixins: [baseDataMixin],
  props: {
    size: {
      type: String,
      default: 'normal',
    },
    value: {
      type: String,
      default: '',
    },
    label: {
      type: String,
      default: '',
    },
39 40 41 42 43
    disabled: Boolean,
    clearable: {
      type: Boolean,
      default: true,
    },
姜雷 committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
  },
  data() {
    return {
      baseDataOptionsList: [],
    };
  },
  created() {
    if (this.label) {
      this.getOptionsList(this.label).then(list => {
        this.baseDataOptionsList = list;
      });
    }
  },
};
</script>