左边:
<ul v-if="resultList.length">
<li v-for="(item,index) in resultList" :key='index' >
<p class="item-name"><span v-html="item.name"></span></p>
<i class="check-item" :class="{'active': item.checked}" @click="clickItem(item)"></i>
</li>
</ul>
右边列表:
<ul>
<li v-for="(item,index) in checkedDatalist" :key='index'>
<p class="item-name">{{item.name}}</p>
<i class="delete" @click="deleteItem(item,index)"></i>
</li>
</ul>
// 点击条目
clickItem(item) {
item.checked = !item.checked;
// 已选中
if (item.checked) {
this.checkedDatalist.push({
name: item.name
});
} else {
// 未选中
const _index = this.checkedDatalist.findIndex((val) => val.name === item.name);
this.checkedDatalist.splice(_index, 1);
}
},
// 删除已选择条目
deleteItem(item, index) {
this.checkedDatalist.splice(index, 1);
this.resultList.find((val) => {
if (val.name === item.name) {
val.checked = false;
}
});
},