【发布时间】:2020-04-22 06:09:50
【问题描述】:
我有一个 v-for,它显示我的所有项目,并且每个项目都有一个面板(用于修改和删除),但是当我单击此按钮以显示我的面板时,它会出现在我的所有项目上。我怎样才能避免这种情况?当我点击修改按钮时,这是同样的事情,修改我的项目的输入出现在每个元素上。
这是我的代码:
<div v-for="(comment, index) in comments" :list="index" :key="comment">
<div v-on:click="show = !show">
<div v-if="show">
<button @click="edit(comment), active = !active, inactive = !inactive">
Modify
</button>
<button @click="deleteComment(comment)">
Delete
</button>
</div>
</div>
<div>
<p :class="{ active: active }">
{{ comment.content }}
</p>
<input :class="{ inactive: inactive }" type="text" v-model="comment.content" @keyup.enter="doneEdit">
</div>
</div>
以及方法和数据:
data() {
return {
show: false,
editing: null,
active: true,
inactive: true
}
},
methods: {
edit(comment) {
this.editing = comment
this.oldComment = comment.content
},
doneEdit() {
this.editing = null
this.active = true
this.inactive = true
}
}
【问题讨论】:
标签: javascript vue.js vuejs2