diff --git a/src/components/GuipSelect.vue b/src/components/GuipSelect.vue index ffae579..38c64c2 100644 --- a/src/components/GuipSelect.vue +++ b/src/components/GuipSelect.vue @@ -30,6 +30,11 @@ export default { type: String, default: 'label' }, + // 新增动态添加项的配置 + extraItem: { + type: Object, + default: null + }, styleObject: Object, disabled: Boolean, required: Boolean, @@ -55,7 +60,19 @@ export default { computed: { // 处理options为空的情况 processedOptions() { - return this.options || [] + let options = this.options || []; + // 当extraItem存在且不是空对象时,添加到options数组开头 + if (this.extraItem && Object.keys(this.extraItem).length > 0) { + return [ + { + [this.labelKey]: this.extraItem.label || '', + [this.valueKey]: this.extraItem.value || '', + disabled: this.extraItem.disabled || false + }, + ...options + ]; + } + return options; } }, watch: { diff --git a/src/views/elementGroups.vue b/src/views/elementGroups.vue index 7d0c8bb..c2b5767 100644 --- a/src/views/elementGroups.vue +++ b/src/views/elementGroups.vue @@ -76,8 +76,9 @@
+ + prop="card" :options="options" valueKey="id1" labelKey="id2" :extraItem="{label:'全部',value:'99999'}"/>

表格:(表头自定义、自定义渲染、固定列)