From 8b1168eba87680bd886cd65e4077dd71371f0424 Mon Sep 17 00:00:00 2001 From: zq <136432190602163.com> Date: Fri, 11 Jul 2025 17:21:37 +0800 Subject: [PATCH] =?UTF-8?q?select=E5=A2=9E=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=B1=95=E7=A4=BA=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/GuipSelect.vue | 19 ++++++++++++++++++- src/views/elementGroups.vue | 3 ++- 2 files changed, 20 insertions(+), 2 deletions(-) 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'}"/>

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