Skip to content

Commit 7c6217b

Browse files
committed
adding custom template for option and selected-option
1 parent 072bf41 commit 7c6217b

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

.babelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"presets": ["es2015", "stage-2"],
3-
"plugins": ["transform-runtime"],
3+
"plugins": ["transform-runtime", "transform-object-rest-spread"],
44
"comments": false
55
}

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">
275277
<span aria-hidden="true">&times;</span>
276278
</button>
@@ -305,7 +307,9 @@
305307
<ul ref="dropdownMenu" v-if="dropdownOpen" class="dropdown-menu" :style="{ 'max-height': maxHeight }">
306308
<li v-for="(option, index) in filteredOptions" v-bind:key="index" :class="{ active: isOptionSelected(option), highlight: index === typeAheadPointer }" @mouseover="typeAheadPointer = index">
307309
<a @mousedown.prevent="select(option)">
310+
<slot name="option" v-bind="option">
308311
{{ getOptionLabel(option) }}
312+
</slot>
309313
</a>
310314
</li>
311315
<li v-if="!filteredOptions.length" class="no-options">

0 commit comments

Comments
 (0)