【发布时间】:2019-08-28 18:48:41
【问题描述】:
我有下面的数组,其中包含许多列。下面的示例包含三列,但可以动态添加/删除列:
[['position', '30'], ['position', '60'], ['position', '90']]
我在使用 Vue 删除 正确 列(数组中的索引)时遇到问题。
考虑下面的sn-p:
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!',
columns: [['position', '30'], ['position', '60'], ['position', '90']]
},
methods: {
deleteColumn: function(index) {
this.columns.splice(index, 1);
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div v-for="(item, index) in columns" :key="index">
Column #: {{index}} - <a @click="deleteColumn(index)">Delete me</a>
</div>
</div>
如果你运行上面的代码 sn -p end 尝试删除#1 列,它实际上会删除#2 列(数组的最后一项)。 #0 也是如此。
我认为通过将index 提供给我的deleteColumn 函数,我可以从数组中删除“正确”索引。
感谢任何帮助。
【问题讨论】:
-
@oliverbj 是唯一的位置值,或者您可以为每个值添加一个
id吗? -
这些值不是唯一的。如果需要,可以在渲染之前“重新映射”数组(所以可以,并且可以添加 id)
-
标签: javascript vue.js vuejs2