输入事件似乎在 vuetify 复选框上不可用?



当用户选择我通过v-for渲染的复选框之一时,我想调用一个方法。它们都通过v-model绑定到一个变量。问题是input似乎在v-checkbox上不可用。下面的代码不执行任何操作:

<template>
<v-container>
<v-layout row>
<v-flex xs12>
<v-layout justify-center>
<v-form ref="form" lazy-validation>
<v-checkbox
v-for="(answer, index) in questions[actualIndex].answers"
:key="index"
:ref="'check'+index"
:label="answer.answer"
:value="answer.answer"
v-model="checkbox"
@input="onInput()"
></v-checkbox>
</v-form>
</v-layout>
</v-flex>
</v-layout>
</v-container>
</template 
export default {
data() {
return {
checkbox: ''
}
},
methods: {
onInput() {
console.log("WORKS");
}
}
}

但是,如果我改用@change@click事件,它可以完美运行。 知道我做错了什么吗?

VCheckboxv-model绑定到input-value道具和change事件,因此它不会对input事件做出反应。 从规范中看并不明显,我必须阅读源代码才能理解它。

当我需要做一些比简单地更新变量更复杂的事情时,我会这样做。

<v-checkbox
:input-value="some expression"
@change="doWhatever($event)"
></v-checkbox>

如果您需要的是更新变量并获取回调,那么v-model@change就是要走的路。

最新更新