在vue中从数组中删除整个对象

时间:2018-02-14 12:10:37

标签: arrays object vue.js

现在我有一个包含多家公司的阵列。

喜欢这个但只有1:

[{
    "id": 4,
    "name": "Lorem",
    "description": "Lorem ipsum"
}]

我遍历公司并通过删除功能传递公司。

<a @click="deleteCompany(company)"><i class="fa fa-trash" aria-hidden="true"></i></a>

deleteCompany(company) {
    Vue.delete(company, 'name');
}

截至目前,它只删除名称..但如何删除整个对象?

1 个答案:

答案 0 :(得分:1)

假设您的公司阵列在Vue的数据中,您可以这样删除它:

deleteCompany(company) {
    // find the index of the company object in the companies array
    const where = this.companies.findIndex(c => c === company)
    // splice the object from the array
    this.companies.splice(where, 1)
}

如果您选择将公司的索引传递给函数而不是公司本身,则可以缩短一点。

你也可以使用Vue.delete,但在这种情况下没有必要;拼接会做。如果您想使用Vue.delete,它将如下所示:Vue.delete(this.companies, where)