尝试在不使用 v-model 的情况下创建复选框
<input type="checkbox" :value="value" @change="$emit('input', $event.target.checked)" />
Run Code Online (Sandbox Code Playgroud)
复选框将选中和取消选中,并将输入事件发送到父级,但值不会改变。我的父组件如下所示:
<custom-component v-model="some_boolean_value"></custom-component>
Run Code Online (Sandbox Code Playgroud)
对于复选框,请使用:checked代替:value。请参阅下面的演示。
Vue.component('custom-component', {
template: '#custom',
props: ['value']
})
new Vue({
el: '#app',
data: {
some_boolean_value: true
}
})Run Code Online (Sandbox Code Playgroud)
<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>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5078 次 |
| 最近记录: |