From 27ffb8d8abc466d2a4bbb9a313b0c4f6a3a97501 Mon Sep 17 00:00:00 2001 From: Benjamin Canac Date: Mon, 13 May 2024 15:54:50 +0200 Subject: [PATCH] feat(SelectMenu): handle `multiple` prop Resolves #102 --- playground/pages/select-menu.vue | 4 +- src/runtime/components/SelectMenu.vue | 16 +- test/components/Input.spec.ts | 2 +- test/components/Select.spec.ts | 2 +- test/components/SelectMenu.spec.ts | 5 +- .../__snapshots__/Input.spec.ts.snap | 2 +- .../__snapshots__/Select.spec.ts.snap | 2 +- .../__snapshots__/SelectMenu.spec.ts.snap | 1207 +++++++++-------- 8 files changed, 698 insertions(+), 542 deletions(-) diff --git a/playground/pages/select-menu.vue b/playground/pages/select-menu.vue index 89e787ad..f545d003 100644 --- a/playground/pages/select-menu.vue +++ b/playground/pages/select-menu.vue @@ -38,7 +38,7 @@ const searchTermDebounced = refDebounced(searchTerm, 200) const { data: users, pending } = await useFetch('https://jsonplaceholder.typicode.com/users', { params: { q: searchTermDebounced }, transform: (data: User[]) => { - return data?.map(user => ({ label: user.name, value: user.id, avatar: { src: `https://i.pravatar.cc/120?img=${user.id}` } })) || [] + return data?.map(user => ({ id: user.id, label: user.name, avatar: { src: `https://i.pravatar.cc/120?img=${user.id}` } })) || [] }, lazy: true }) @@ -53,6 +53,7 @@ const { data: users, pending } = await useFetch('https://jsonplaceholder.typicod + @@ -67,6 +68,7 @@ const { data: users, pending } = await useFetch('https://jsonplaceholder.typicod :filter="false" icon="i-heroicons-user" placeholder="Search users..." + @update:open="searchTerm = ''" >