VueJs el-select icon
by Shashank Shekhar
HTML
<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/[email protected]/lib/index.js"></script>
<div id="app">
<template>
<el-select v-model="value" value-key="value" placeholder="Select">
<template slot="prefix"><img class="prefix" :src="value.photo" /></template>
<el-option v-for="item in outlet" :key="item.value" :label="item.label" :value="item">
<img :src="item.photo"> {{ item.label }}
</el-option>
</el-select>
</template>
</div>
SCSS
@import url("//unpkg.com/[email protected]/lib/theme-chalk/index.css");
img {
width: 20px;
height: 20px;
}
.prefix {
margin-top: 10px;
}
Babel + JSX
var Main = {
data() {
return {https://jsfiddle.net/budgw/L4y8zw1e/36/#
outlet: [{
value: 'mcd',
label: 'McDonald',
photo: 'https://upload.wikimedia.org/wikipedia/commons/5/50/McDonald%27s_SVG_logo.svg'
}, {
value: 'kfc',
label: 'KFC',
photo: 'http://www.kfcku.com/themes/kfc_indonesia/images/kfc-indonesia-logo.png'
}, {
value: 'pizzahut',
label: 'Pizza Hut',
photo: 'https://vignette.wikia.nocookie.net/logopedia/images/b/b3/Pizza_Hut_Logo_2.png/revision/latest?cb=20161129133747'
}],
value: null
}
},
created() {
this.value = this.outlet[0]
}
}
var Ctor = Vue.extend(Main)
new Ctor().$mount('#app')