feat(Select): handle onSelect field in items

This commit is contained in:
Benjamin Canac
2025-04-08 14:51:53 +02:00
parent 8435a0fe16
commit 864083156a

View File

@@ -38,6 +38,7 @@ interface SelectItemBase {
type?: 'label' | 'separator' | 'item'
value?: string | number
disabled?: boolean
onSelect?(e?: Event): void
[key: string]: any
}
export type SelectItem = SelectItemBase | AcceptableValue | boolean
@@ -279,6 +280,7 @@ function isSelectItem(item: SelectItem): item is SelectItemBase {
:class="ui.item({ class: props.ui?.item })"
:disabled="isSelectItem(item) && item.disabled"
:value="isSelectItem(item) ? get(item, props.valueKey as string) : item"
@select="isSelectItem(item) && item.onSelect?.($event)"
>
<slot name="item" :item="(item as NestedItem<T>)" :index="index">
<slot name="item-leading" :item="(item as NestedItem<T>)" :index="index">