Skip to content

Commit 176520f

Browse files
committed
feat(select): convert missing slots
1 parent f99f99c commit 176520f

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

src/Select.vue

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -326,31 +326,38 @@ watch(
326326
:class="[props.classes?.singleValue]"
327327
@click="openMenu()"
328328
>
329-
<slot name="value" :option="selectedOptions[0]">
329+
<template v-if="slots.value">
330+
<component :is="slots.value" :option="selectedOptions[0]" />
331+
</template>
332+
333+
<template v-else>
330334
{{ getOptionLabel(selectedOptions[0]) }}
331-
</slot>
335+
</template>
332336
</div>
333337

334338
<template
335339
v-for="selectedOption in selectedOptions"
336340
v-else-if="props.isMulti && selectedOptions.length"
337341
:key="selectedOption.value"
338342
>
339-
<slot
340-
name="tag"
341-
:option="selectedOption"
342-
:remove-option="() => removeOption(selectedOption)"
343-
>
344-
<MultiValue
345-
:label="getOptionLabel(selectedOption)"
346-
:classes="{
347-
multiValue: props.classes?.multiValue,
348-
multiValueLabel: props.classes?.multiValueLabel,
349-
multiValueRemove: props.classes?.multiValueRemove,
350-
}"
351-
@remove="removeOption(selectedOption)"
343+
<template v-if="slots.tag">
344+
<component
345+
:is="slots.tag"
346+
:option="selectedOption"
347+
:remove-option="() => removeOption(selectedOption)"
352348
/>
353-
</slot>
349+
</template>
350+
351+
<MultiValue
352+
v-else
353+
:label="getOptionLabel(selectedOption)"
354+
:classes="{
355+
multiValue: props.classes?.multiValue,
356+
multiValueLabel: props.classes?.multiValueLabel,
357+
multiValueRemove: props.classes?.multiValueRemove,
358+
}"
359+
@remove="removeOption(selectedOption)"
360+
/>
354361
</template>
355362

356363
<div

0 commit comments

Comments
 (0)