console
let app = new Vue({
el: "#app",
data: {
inpText: "",
infoList: [],
selectList: [],
list: [],
cancelChecked: [],
selectChecked: [],
isRun: ""
},
methods: {
enterFun() {
if (this.inpText) {
if (this.infoList.length == 0) {
this.addList()
this.list = this.infoList
} else {
this.addList()
this.list = this.infoList.filter(item => {
return !this.selectChecked.includes(item.id)
})
}
}
this.inpText = ""
},
delBtn(e) {
e.path[1].remove()
},
addList() {
this.infoList.push({
id: this.infoList.length + 1,
name: this.inpText
})
},
aa() {
this.isRun = true
},
qq() {
this.isRun = false
}
},
watch: {
selectChecked() {
if (this.isRun == true) {
this.selectList = this.infoList.filter((item) => {
return this.selectChecked.includes(item.id)
})
this.list = this.infoList.filter(item => {
return !this.selectChecked.includes(item.id)
})
this.cancelChecked = this.infoList.map((item) => {
if (this.selectChecked.includes(item.id)) {
return item.id
}
})
}
},
cancelChecked() {
if (this.isRun == false) {
this.list = this.infoList.filter(item => {
return !this.cancelChecked.includes(item.id)
});
this.selectChecked = this.infoList.map(item => {
if(!this.list.includes(item)){
console.log(item.id);
return item.id
}
})
this.selectList = this.infoList.filter(item => {
return this.selectChecked.includes(item.id)
})
}
}
}
})
<div id="app">
<input @keyup.enter="enterFun" v-model="inpText" type="text">
{{inpText}}
<ul>
<li>正在进行</li>
<li v-for="(item,index) in list "><input type="checkbox" :value="item.id" @click="aa"
v-model="selectChecked">{{item.name}}<button @click="delBtn">删除</button>
</li>
</ul>
<ul>
<li>已经完成</li>
<li v-for="(item,index) in selectList "><input type="checkbox" :value="item.id" @click="qq"
v-model="cancelChecked">{{item.name}}<button @click="delBtn">删除</button></li>
</ul>
</div>