vue 根据不同数据进行分类 有一个对象数组,数组内部有type,根据type分成四类招标,中标,终止,其他四种类型 招标公告属于招标 中标公告 合同公告 单一公告 属于中标 废标公告属于终止 更正公告 其他公告属于其他
时间: 2024-11-20 07:45:07 浏览: 8
vue 对象数组中,根据相同属性的数据合并,重组新的数组对象
Vue 中根据数据类型对数组进行分类可以利用 Vue 的计算属性(Computed Properties)或者使用数组的 filter 和 map 方法结合。这里提供一种基于计算属性的方式:
```javascript
// 定义数据模型
data() {
return {
notices: [
{ type: '招标', content: '招标公告1' },
{ type: '中标', content: '中标公告2' },
// 更多数据...
]
}
}
// 创建一个计算属性,将数据分为四个类别
computed: {
categorizedNotices() {
const categories = {
招标: ['招标'],
中标: ['中标', '合同', '单一'],
终止: ['废标'],
其他: ['更正', '其他']
};
return this.notices.reduce((acc, notice) => {
const key = categories[notice.type] ? categories[notice.type][0] : '其他';
acc[key].push(notice);
return acc;
}, { 招标: [], 中标: [], 终止: [], 其他: [] });
}
}
// 使用时可以直接访问 categorizedNotices 对象获取分类后的数组
<template>
<div v-for="category in categorizedNotices" :key="category">
<h2>{{ category }}</h2>
<ul>
<li v-for="item in category">{{ item.content }}</li>
</ul>
</div>
</template>
阅读全文