mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-28 19:00:35 +01:00
chore(InputMenu/SelectMenu): handle item select
This commit is contained in:
@@ -23,6 +23,7 @@ export interface InputMenuItem extends Pick<ComboboxItemProps, 'disabled'> {
|
|||||||
* @defaultValue 'item'
|
* @defaultValue 'item'
|
||||||
*/
|
*/
|
||||||
type?: 'label' | 'separator' | 'item'
|
type?: 'label' | 'separator' | 'item'
|
||||||
|
select?(e?: Event): void
|
||||||
}
|
}
|
||||||
|
|
||||||
type InputMenuVariants = VariantProps<typeof inputMenu>
|
type InputMenuVariants = VariantProps<typeof inputMenu>
|
||||||
@@ -332,6 +333,7 @@ defineExpose({
|
|||||||
:class="ui.item({ class: props.ui?.item })"
|
:class="ui.item({ class: props.ui?.item })"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
:value="valueKey && typeof item === 'object' ? (item[valueKey as keyof InputMenuItem]) as AcceptableValue : item"
|
:value="valueKey && typeof item === 'object' ? (item[valueKey as keyof InputMenuItem]) as AcceptableValue : item"
|
||||||
|
@select="item.select"
|
||||||
>
|
>
|
||||||
<slot name="item" :item="(item as T)" :index="index">
|
<slot name="item" :item="(item as T)" :index="index">
|
||||||
<slot name="item-leading" :item="(item as T)" :index="index">
|
<slot name="item-leading" :item="(item as T)" :index="index">
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ export interface SelectMenuItem extends Pick<ComboboxItemProps, 'disabled'> {
|
|||||||
* @defaultValue 'item'
|
* @defaultValue 'item'
|
||||||
*/
|
*/
|
||||||
type?: 'label' | 'separator' | 'item'
|
type?: 'label' | 'separator' | 'item'
|
||||||
|
select?(e?: Event): void
|
||||||
}
|
}
|
||||||
|
|
||||||
type SelectMenuVariants = VariantProps<typeof selectMenu>
|
type SelectMenuVariants = VariantProps<typeof selectMenu>
|
||||||
@@ -267,6 +268,7 @@ function onUpdateOpen(value: boolean) {
|
|||||||
:class="ui.item({ class: props.ui?.item })"
|
:class="ui.item({ class: props.ui?.item })"
|
||||||
:disabled="item.disabled"
|
:disabled="item.disabled"
|
||||||
:value="valueKey && typeof item === 'object' ? (item[valueKey as keyof SelectMenuItem]) as AcceptableValue : item"
|
:value="valueKey && typeof item === 'object' ? (item[valueKey as keyof SelectMenuItem]) as AcceptableValue : item"
|
||||||
|
@select="item.select"
|
||||||
>
|
>
|
||||||
<slot name="item" :item="(item as T)" :index="index">
|
<slot name="item" :item="(item as T)" :index="index">
|
||||||
<slot name="item-leading" :item="(item as T)" :index="index">
|
<slot name="item-leading" :item="(item as T)" :index="index">
|
||||||
|
|||||||
Reference in New Issue
Block a user