我的Vue组件如下:
<template>
...
<small class="text-muted">Quality</small><br>
<b-form-select class="mb-2 mr-sm-2 mb-sm-0"
:options="optQuality"
v-model="slcQuality" @change="changeQuality">
</b-form-select>
...
</template>
<script>
export default {
...
data () {
return {
optQuality: [
{ value: 1, text: 'Original' },
{ value: 2, text: 'Kw-1' },
{ value: 3, text: 'Kw-2' }
],
slcQuality: 1
}
},
methods: {
changeQuality() {
console.log('test')
console.log(this.slcQuality)
}
}
}
</script>
如果我选择选项Kw-1,我得到的结果是1
如果我再次选择选项Kw-2,我得到的结果是2
结果不正确
如何解决此问题?
答案 0 :(得分:1)
在这种情况下,Label
事件在之前发生,通过change
更新slcQuality
(在v-model
事件中发生) 。 input
当时正在记录changeQuality
的值,因此似乎slcQuality
尚未更新,但实际上发生在随后的事件中。
您可以通过听slcQuality
而不是input
来查看更新后的值:
change