【发布时间】:2021-03-06 23:49:21
【问题描述】:
我想要做的是我只想删除被点击的项目
todoList 组件:
模板:
<ul class="list-group">
<todo v-for="(todo,i) in todo" :key="i" :todoString="todo.todoString" :completed="todo.completed"
@on-delete="del(todo)" />
</ul>
脚本:
data() {
return {
todo: [
{ todoString: "make videos Angular", completed: true },
{ todoString: "make videos React", completed: false },
{ todoString: "make videos Vue", completed: true },
{ todoString: "make videos Javascript", completed: false },
],
};
},
del(deltodo) {
this.todo = this.todo.filter(todos => {
todos.todoString !== deltodo.todoString;
console.log(this.todo.length)
});
console.log(this.todo.length)
},
TodoComponent:
模板:
<li class="d-flex align-items-center list-group-item">
<button class="btn border-0 text-left flex-grow-1">{{todoString}}</button>
<form action="" class="flex-grow-1">
<input type="text" class="form-control">
</form>
<button class="btn btn-outline-primary">Edit</button>
<button key="" @click="$emit('on-delete')" class="btn btn-outline-danger">delete</button>
</li>
脚本:
props:{
todoString:String,
completed:Boolean
},
问题是当我删除一个项目时,它会删除所有项目
【问题讨论】:
标签: javascript vue.js vue-component vuex