【发布时间】:2018-08-26 09:35:41
【问题描述】:
我的组件中有一个对象列表,并希望添加在切换时将其title 属性推送到数组或删除的功能。我实现的推送部分相当容易,但是删除该值非常困难,因为在这种情况下按索引拼接无济于事,因为可以选择项目并以任何顺序推送到数组中:
数据
data () {
return {
options = [
{
title: "pie",
isSelected: false
},
{
title: "cupcakes",
isSelected: false
},
{
title: "muffins",
isSelected: false
}
],
selected : []
}
},
模板
<template>
<div>
<div
v-for="(item, index) in options"
:key="index"
v-on:click="toggleSelected(index, item)">
{{ item.title }}
</div>
</div>
</template>
脚本
toggleSelected: function (index, item) {
item.isSelected = !item.isSelected
if (this.selected.includes(item.title)) {
return this.selected.splice(item.title) // does not work as expected
}
return this.selected.push(item.title)
}
我知道我在语法上错误地使用了splice,那么我该如何实现我想要做的呢?有没有splice?
【问题讨论】:
标签: javascript arrays vue.js vue-component