From 1ca37bc5d48f56f0f2fd2e2ba4453c3587056ce6 Mon Sep 17 00:00:00 2001 From: "klyushkin.ns" Date: Tue, 3 Feb 2026 21:03:46 +0300 Subject: [PATCH] =?UTF-8?q?TEM-13963:=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=83=20=D1=81?= =?UTF-8?q?=D0=BE=20=D1=81=D0=BB=D0=BE=D1=82=D0=B0=D0=BC=D0=B8=20=D0=B2=20?= =?UTF-8?q?v-select-list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/VSelect/VSelectList.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/vuetify/src/components/VSelect/VSelectList.ts b/packages/vuetify/src/components/VSelect/VSelectList.ts index 9f7e386aff5..e4cd9a7a02a 100644 --- a/packages/vuetify/src/components/VSelect/VSelectList.ts +++ b/packages/vuetify/src/components/VSelect/VSelectList.ts @@ -211,12 +211,23 @@ export default mixins(Colorable, Themeable).extend({ hasItem (item: object) { return this.parsedItems.indexOf(this.getValue(item)) > -1 }, + checkSlotFragment (type: any) { + return typeof type === 'symbol' && String(type) === 'Symbol(v-fgt)' + }, needsTile (slot: VNode[] | undefined): boolean { - const [vnode] = slot ?? [] - if (!slot?.length || slot.length !== 1) return true - const { type } = vnode ?? {} + let vnode = slot[0] as any + + if (!vnode) return true + + let type = vnode.type + + if (this.checkSlotFragment(type) && Array.isArray(vnode.children)) { + if (vnode.children.length !== 1) return true + vnode = vnode.children[0] as VNode + type = vnode && (vnode.type as any) + } const isComponent = type && typeof type === 'object'