// 组件格式
Vue.component("select-template",{
template:'<div class="select-template" @click="toggleMenu"><i class="fa fa-angle-left" :class="{\'rotate-90\' :inputfocus}"></i>' +
'<input type="text" readonly :value="schoolName" :disabled="disabled">' +
'<ul class="select-list" v-show="inputfocus">' +
'<li v-for="(item, index) in school" :key="index" @click="choseItem (item)">{{item}}</li>' +
'</ul></div>',
props:['school','value','disabled'],
data: function () {
return {
inputfocus: false,
schoolName: ''
}
},
methods:{
toggleMenu: function (e) {
e.stopPropagation();
if (this.disabled) {
return
}
this.inputfocus = !this.inputfocus;
},
choseItem (item) {
this.schoolName = item;
this.$emit('input', item);
}
},
created: function () {
}
});
// 调用组件
<select-template v-model="school" :school="schoollist" ref="select"></select-template>