jhbigscreen/src/components/screen-select.js

54 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-08-10 01:16:23 +08:00
import Vue from 'vue'
Vue.component("screen-select", {
template: `
<div class="select-max" @mouseleave="hideSelectOption">
<div class="select-input">
<input type="text" :value="value" @click="clickSelectInput" placeholder="请选择" readonly>
</div>
<el-collapse-transition>
<ul class="select-option" v-show="show">
<li v-for="item in data" @click="clickSelectOption(item)">{{item.text}}</li>
</ul>
</el-collapse-transition>
</div>
`,
props: {
data:{
type:Array
},
val:{
type:[String,Number]
}
},
data() {
return {
show:false,
value:''
}
},
mounted(){
},
methods: {
clickSelectInput(){
this.show = true
},
clickSelectOption(item){
this.value = item.text
this.$emit('option',item);
this.show = false
},
hideSelectOption(){
this.show = false
}
},
watch:{
val:{
hander(){
this.value=this.val||'';
}
}
}
})