DemoAutocompleteSlots.vue
1.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<script setup>
import avatar1 from '@images/avatars/avatar-1.png'
import avatar2 from '@images/avatars/avatar-2.png'
import avatar3 from '@images/avatars/avatar-3.png'
import avatar4 from '@images/avatars/avatar-4.png'
import avatar5 from '@images/avatars/avatar-5.png'
import avatar6 from '@images/avatars/avatar-6.png'
import avatar7 from '@images/avatars/avatar-7.png'
import avatar8 from '@images/avatars/avatar-8.png'
const friends = ref([
'Sandra Adams',
'Britta Holt',
])
const people = [
{
name: 'Sandra Adams',
group: 'Group 1',
avatar: avatar1,
},
{
name: 'Ali Connors',
group: 'Group 1',
avatar: avatar2,
},
{
name: 'Trevor Hansen',
group: 'Group 1',
avatar: avatar3,
},
{
name: 'Tucker Smith',
group: 'Group 1',
avatar: avatar4,
},
{
name: 'Britta Holt',
group: 'Group 2',
avatar: avatar5,
},
{
name: 'Jane Smith ',
group: 'Group 2',
avatar: avatar6,
},
{
name: 'John Smith',
group: 'Group 2',
avatar: avatar7,
},
{
name: 'Sandra Williams',
group: 'Group 2',
avatar: avatar8,
},
]
</script>
<template>
<VAutocomplete
v-model="friends"
chips
closable-chips
multiple
:items="people"
item-title="name"
item-value="name"
placeholder="Select User"
label="Select"
>
<template #chip="{ props, item }">
<VChip
v-bind="props"
:prepend-avatar="item.raw.avatar"
:text="item.raw.name"
/>
</template>
<template #item="{ props, item }">
<VListItem
v-bind="props"
:prepend-avatar="item?.raw?.avatar"
:title="item?.raw?.name"
:subtitle="item?.raw?.group"
/>
</template>
</VAutocomplete>
</template>