반응형
배열 뷰에서 항목을 제거한다.
나는 앱 다음 작업 목록을 가지고 있습니다.나는 a을 이행하려고 노력합니다delete
기능을 발휘하다저는 제가 내가 쓸 필요가 있어요.splice
는에서 항목을 제거하려면.array
하지만 어떻게 나는, 단추 나는 클릭만 품목을 대상으로 하고 있니?
https://jsfiddle.net/clintongreen/txtrage5/1/
JS
new Vue({
el: '#tasks',
data: {
message: 'Tasks',
completed: null,
newTaskName: '',
tasklist: [
{ description: 'Read', completed: true },
{ description: 'Write', completed: true },
{ description: 'Edit', completed: false },
{ description: 'Publish', completed: false }
]
},
methods: {
completeTask: function(task){
// console.log(this.tasks.description);
task.completed = true;
},
newTask: function(){
this.tasklist.push({description: this.newTaskName, completed: false});
},
removeTask: function(task){
this.tasklist.splice(this.task.index, 1);
}
}
})
HTML
<div class="container" id="tasks">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
{{ message }}
</h3>
</div>
<ul class="list-group">
<li class="list-group-item clearfix" v-for="task in tasklist" >
{{ task.description }}
<!-- <button class="btn btn-primary btn-sm pull-right" v-if="!task.completed" @click="completeTask(task)">Complete</button> -->
<div class="btn-group btn-group-sm pull-right" role="group" v-if="!task.completed">
<button type="button" class="btn btn-primary" @click="completeTask(task)">Complete</button>
<button type="button" class="btn btn-info">Edit</button>
<button type="button" class="btn btn-danger" @click="removeTask(task)">Delete</button>
</div>
<button class="btn btn-default btn-sm completed text-muted pull-right disabled" v-else>Completed</button>
</li>
<li class="list-group-item clearfix">
<input v-model="newTaskName" @keyup.enter="newTask" type="text" class="pull-left">
<button class="btn btn-success btn-sm pull-right" @click="newTask">Add Task</button>
</li>
</ul>
</div>
</div>
에서 그 일의 지수 사용하라.v-for
에게 어느 품목을 결정하려면.splice()
:
v-for="(task, index) in tasklist"
당신의 단추를 클릭합니다.
<button type="button" class="btn btn-danger" @click="removeTask(index)">Delete</button>
그리고 단순히:
removeTask: function(index) {
this.tasklist.splice(index, 1);
}
removeTask: function(task){
this.tasklist.splice(this.tasklist.indexOf(task), 1);
}
Vue2 사용을 위해delete
참조 API.
removeTask: function(index){
this.$delete(this.tasklist, index)
}
언급URL:https://stackoverflow.com/questions/42845721/remove-item-from-array-in-vue
반응형
'Programing' 카테고리의 다른 글
다른 Vuex 모듈에 타입스크립트로 접근하는 방법? (0) | 2022.05.18 |
---|---|
문자열을 구성 요소로 교체하는 방법(vue)하는 방법 (0) | 2022.05.18 |
스레드 컨텍스트 스위칭 오버헤드를 추정하는 방법 (0) | 2022.05.18 |
대상 리디렉션이 동일한 경로로 확인되면 각 라우터가 호출되지 않음 (0) | 2022.05.18 |
VueJS에서 Angular Service와 동등한 것은? (0) | 2022.05.18 |