import emitter from 'element-ui/src/mixins/emitter';
export default {
mixins: [emitter],
inject: {
elForm: {
default: ''
},
elFormItem: {
default: ''
}
},
props: {
value: {
type: any,
},
disabled: {
type: Boolean,
default: false,
},
size: {
type: String
}
},
data() {
return {
formItemValue: this.value,
};
},
computed: {
_elFormItemSize() {
return (this.elFormItem || {}).elFormItemSize;
},
formItemSize() {
return this.size || this._elFormItemSize || (this.$ELEMENT || {}).size;
},
formItemDisabled() {
return this.disabled || (this.elForm || {}).disabled;
}
},
watch: {
formItemValue() {
this.$nextTick(() => {
this.onChange();
});
}
},
methods: {
onChange() {
this.$emit('change', this.formItemValue);
this.$emit('input', this.formItemValue);
this.dispatch('ElFormItem', 'el.form.change', this.formItemValue);
}
}
}
vue elementUI el-form-item 封装
于 2023-12-08 17:56:49 首次发布