问一下,computed 与 click checkbox 是否冲突,导致checkbox不刷新,谢谢
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利
vue version: 3.9.1
全新脚手架项目,代码非常少,bug原因不明,就是点一个checkbox导致另一个checkbox被选中,或点取消选中,另一个checkbox也被取消选中。。。。
我在练习TODOLIST,用了 computed 属性,结果在页面上点来点去,都是checkbox状态不一致的bug。
还请前辈过目啊,代码共50行,谢谢了。
<template>
<div id="app">
<h2>正在进行</h2>
<ul>
<li v-for="item in notChecked" v-bind:key="item.happy">
<input type="checkbox" v-model="item.checked"/> {{item.title}}
</li>
</ul>
<h2>已经完成</h2>
<ul>
<li v-for="item in beChecked" v-bind:key="item.nothappy">
<input type="checkbox" v-model="item.checked"/> {{item.title}}
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'app',
data() {
return {
todo: '',
list: [
{
title: '这是一个状态',
checked: true
},
{
title: '这是另一个状态',
checked: true
}
]
}
},
computed: {
notChecked: function() {
return this.list.filter((item) => { return !item.checked; });
},
beChecked: function() {
return this.list.filter((item) => { return item.checked; });
}
}
}
</script>
<style>
</style>