尝试在不使用v-model的情况下创建复选框
<input type="checkbox" :value="value" @change="$emit('input', $event.target.checked)" />
复选框将选中并取消选中,输入事件将发送给父级,但值不会更改。我的父组件如下所示:
<custom-component v-model="some_boolean_value"></custom-component>
答案 0 :(得分:3)
对于复选框,请使用:checked
代替:value
。见下面的演示。
Vue.component('custom-component', {
template: '#custom',
props: ['value']
})
new Vue({
el: '#app',
data: {
some_boolean_value: true
}
})
&#13;
<script src="https://unpkg.com/vue"></script>
<div id="app">
<p>some_boolean_value: {{ some_boolean_value }}</p>
<custom-component v-model="some_boolean_value"></custom-component>
</div>
<template id="custom">
<div style="border: 2px dashed red;">
<input type="checkbox" :checked="value" @change="$emit('input', $event.target.checked)" />
</div>
</template>
&#13;