fix(InputMenu/SelectMenu): support arbitrary value (#3779)

This commit is contained in:
Sandro Circi
2025-04-02 22:28:09 +02:00
committed by GitHub
parent 041989549a
commit 52a97e2df7
4 changed files with 12 additions and 2 deletions

View File

@@ -36,7 +36,6 @@ interface _InputMenuItem {
* @defaultValue 'item'
*/
type?: 'label' | 'separator' | 'item'
value?: string | number
disabled?: boolean
onSelect?(e?: Event): void
[key: string]: any

View File

@@ -36,7 +36,6 @@ interface _SelectMenuItem {
* @defaultValue 'item'
*/
type?: 'label' | 'separator' | 'item'
value?: string | number
disabled?: boolean
onSelect?(e?: Event): void
[key: string]: any

View File

@@ -186,6 +186,12 @@ describe('InputMenu', () => {
valueKey: 'value'
})).toEqualTypeOf<[number[]]>()
// with object item and object valueKey
expectEmitPayloadType('update:modelValue', () => InputMenu({
items: [{ label: 'foo', value: { id: 1, name: 'bar' } }],
valueKey: 'value'
})).toEqualTypeOf<[{ id: number, name: string }]>()
// with string item
expectEmitPayloadType('update:modelValue', () => InputMenu({
items: ['foo']

View File

@@ -191,6 +191,12 @@ describe('SelectMenu', () => {
valueKey: 'value'
})).toEqualTypeOf<[number[]]>()
// with object item and object valueKey
expectEmitPayloadType('update:modelValue', () => SelectMenu({
items: [{ label: 'foo', value: { id: 1, name: 'bar' } }],
valueKey: 'value'
})).toEqualTypeOf<[{ id: number, name: string }]>()
// with string item
expectEmitPayloadType('update:modelValue', () => SelectMenu({
items: ['foo']