javascript - 如何在Vuejs中隐藏内部数组中的重复项
问题描述
我正在尝试从嵌套数组中删除重复键vuejs
,并将它们从DOM
<div class="container" v-for="shops in malls">
<div class="container" v-for="shop in shops.section">
<div class="detail-report-item" v-for="detail in shop.shop" :key="detail.id" :id="detail.id">
<span> {{ detail.name }} </span>
<span> {{ detail.date }} </span>
</div>
</div>
</div>
我的数据是通过 axios 从 Laravel api 获取的。PS这可能有点难以阅读
[
{
id: 2,
first_name: "john",
last_name: "john",
malls: [
{
id: 1,
name: "Ginger mall",
slug: "Ginger-mall",
pivot: {
user_id: 2,
mall_id: 1,
id: 1
},
shop: [
{
id: 1,
mall_id: 1,
title: "Report 1"
}
]
}
]
}
];
解决方案
您可以使用一种方法(来源:https ://stackoverflow.com/a/56757215/11484454 )从数组中删除所有重复键(在这种情况下,我们假设具有相同 ID 的条目是重复的):
{
methods: {
filteredList(array) {
return array.filter((v,i,a) => a.findIndex(t => (t.id === v.id)) === i)
}
}
}
然后在您的 html 模板中使用它:
<div class="detail-report-item" v-for="detail in filteredList(shop.shop)" :key="detail.id" :id="detail.id">
推荐阅读
- android - 如何将 WebView 中的文本方向设置为 RTL(从右到左)?[安卓工作室]
- python - 无值的 Pandas MultiIndex
- javascript - NativeScript Vue 无法导入组件
- aws-lambda - 通过 Lambda 函数从 AWS 调用我的托管 API
- android - 为什么项目可以在没有工厂的情况下使用构造函数参数创建 ViewModel 类的实例
- javascript - Angular: .then() 块在我的异步函数之前执行
- php - 是否可以有两个不同的域访问同一个 MySql 数据库?
- spring-boot - 想在springboot restapi中实现Search功能
- c++ - 单击一行以显示来自客户端的信息,Excell 类型的 Qt 表
- python - pytest中的夹具执行顺序