根据需求,需要同一期的账单合并显示

根据数组里某属性是否相同来判断,因为我这个相同的属性的值是有序数字就比较好处理。
const arr = [];
for (let item of list) {
if (arr[item.term - 1]) {
arr[item.term - 1].push(item);
} else {
arr[item.term - 1] = [];
arr[item.term - 1].push(item);
}
}
不是数字的话,可以将arr换成object,最后用Object.keys()或Object.entries()将获得对象插入到数组中;
table里利用了v-for嵌套 和 :rowspan来v-if来渲染
<tbody class="order-body" v-for="item in orderList">
<tr v-for="(i,index) in item">
<td :rowspan="item.length" v-if="index==0">{{i.term}}</td>
<td>{{i.type}}</td>
<td>{{i.beginAt}}-{{i.endAt}}</td>
<td>{{i.needPay}}</td>
<td>{{i.beginAt}}</td>
<td>{{i.payAt}}</td>
<td>{{i.orderStatus}}</td>
<td>11</td>
</tr>
</tbody>