Skip to content

Commit 276bc86

Browse files
authored
Merge pull request sagalbot#202 from edwindj/master
option and selected-option can be templated
2 parents 6fdc460 + 008253d commit 276bc86

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

dev.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@
3939
<v-select placeholder="multiple, closeOnSelect=false" multiple :close-on-select="false" :options="['cat', 'dog', 'bear']"></v-select>
4040
<v-select placeholder="unsearchable" :options="options" :searchable="false"></v-select>
4141
<v-select placeholder="search github.." label="full_name" @search="search" :options="ajaxRes"></v-select>
42+
<v-select placeholder="custom option template" :options="options" multiple>
43+
<template slot="selected-option" scope="option">
44+
<img :src='"https://www.kidlink.org/icons/f0-" + option.value.toLowerCase() + ".gif"'/>
45+
{{option.label}}
46+
</template>
47+
<template slot="option" scope="option">
48+
<img :src='"https://www.kidlink.org/icons/f0-" + option.value.toLowerCase() + ".gif"'/>
49+
{{option.label}} ({{option.value}})
50+
</template>
51+
</v-select>
4252
</div>
4353
</body>
4454

src/components/Select.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,9 @@
270270
<div ref="toggle" @mousedown.prevent="toggleDropdown" class="dropdown-toggle">
271271

272272
<span class="selected-tag" v-for="option in valueAsArray" v-bind:key="option.index">
273-
{{ getOptionLabel(option) }}
273+
<slot name="selected-option" v-bind="option">
274+
{{ getOptionLabel(option) }}
275+
</slot>
274276
<button v-if="multiple" @click="deselect(option)" type="button" class="close" aria-label="Remove option">
275277
<span aria-hidden="true">&times;</span>
276278
</button>
@@ -306,7 +308,9 @@
306308
<ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }">
307309
<li v-for="(option, index) in filteredOptions" v-bind:key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index">
308310
<a @mousedown.prevent="select(option)">
311+
<slot name="option" v-bind="option">
309312
{{ getOptionLabel(option) }}
313+
</slot>
310314
</a>
311315
</li>
312316
<li v-if="!filteredOptions.length" class="no-options">

0 commit comments

Comments
 (0)