mirror of
https://git.hmsn.ink/kospo/svcm/oa.git
synced 2026-03-20 04:22:25 +09:00
5.7 KiB
5.7 KiB
selectSlotIconOptions, selectSlotIconValue
| selectSlotIconOptions | selectSlotIconValue | |||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Icons with search
The <Multiselect /> component can be used with a custom template to show
icons for options and selected option. Supports searching the values.
<script setup lang="ts">
const selectSlotIconValue
const selectSlotIconOptions = [
{
name: 'Logistics',
value: 'logistics',
icon: 'fas fa-box',
},
{
name: 'Business',
value: 'business',
icon: 'fas fa-briefcase',
},
{
name: 'Relaxation',
value: 'relaxation',
icon: 'fas fa-couch',
},
{
name: 'Development',
value: 'development',
icon: 'fas fa-code',
},
{
name: 'Travel',
value: 'travel',
icon: 'fas fa-compass',
},
{
name: 'Discussions',
value: 'discussions',
icon: 'fas fa-comment-alt',
},
{
name: 'Shopping',
value: 'shopping',
icon: 'fas fa-shopping-bag',
},
]
</script>
<template>
<VField v-slot="{ id }" class="is-icon-select">
<VControl>
<Multiselect
v-model="selectSlotIconValue"
:attrs="{ id }"
placeholder="Select a member"
label="name"
:options="selectSlotIconOptions"
:searchable="true"
track-by="name"
:max-height="145"
>
<template #singlelabel="{ value }">
<div class="multiselect-single-label">
<div class="select-label-icon-wrap">
<i :class="value.icon" />
</div>
<span class="select-label-text">
{{ value.name }}
</span>
</div>
</template>
<template #option="{ option }">
<div class="select-option-icon-wrap">
<i :class="option.icon" />
</div>
<span class="select-option-text">
{{ option.name }}
</span>
</template>
</Multiselect>
</VControl>
</VField>
</template>