【发布时间】:2021-03-19 01:38:44
【问题描述】:
我正在尝试创建一个 customCombobox 组件,它像普通的 v-combobox 一样工作,并添加一个 - 在用户按下 tab 键后,它将自动选择第一个选项(如果有的话)。
到目前为止,我所做的看起来不错,但此字段上的 v-model 不起作用(始终是 null)。
<template>
<v-combobox ref="combobox" :rules="rules"
@keydown.tab.prevent="selectFirst"
:value="innerValue" :label="label"
:items="items"
>
</v-combobox>
</template>
<script>
module.exports = {
props: ['value', 'label', 'items', 'rules'],
data() {
return {
innerValue:null,
}
},
watch:{
value(_new){
this.innerValue = _new
this.$emit('input',[_new])
this.$emit('change')
}
},
methods: {
selectFirst() {
var combobox = this.$refs.combobox
var filteredItems = combobox.filteredItems
if (filteredItems.length){
this.innerValue = filteredItems[0]
}
}
},
computed: {
}
}
</script>
你知道为什么吗?
【问题讨论】:
标签: javascript vue.js vue-component vuetify.js vue-events