12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- <template>
- <el-select
- v-model="selectValue"
- :filterable="filterable"
- :clearable="clearable"
- :placeholder="placeholder"
- :disabled="disabled"
- style="width:100%"
- @change="change"
- >
- <slot />
- <el-option
- v-for="option in options"
- :key="option.id"
- :value="option.id"
- :label="option.name"
- ></el-option>
- </el-select>
- </template>
- <script>
- export default {
- name: 'MySelect',
- props: {
- value: {
- required: true
- },
- options: {
- required: true,
- type: Array
- },
- filterable: {
- type: Boolean
- },
- clearable: {
- type: Boolean
- },
- placeholder: {},
- disabled: {
- type: Boolean
- }
- },
- computed: {
- selectValue: {
- set (value) {
- this.$emit('input', value)
- },
- get () {
- return this.value
- }
- }
- },
- methods: {
- change (...args) {
- this.$emit('change', ...args)
- }
- }
- }
- </script>
- <style lang="scss"></style>
|