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')