平时我们在写banner轮播的时候,会遇到一页显示几条数据,这个数据是后台传给我们的一个一维数组,我们在用swiper轮播的时候,每一次要显示很多项。还要分很多页显示,例如图中那样
这个时候我们需要把后台传过来的一维数组转为二维数组,循环显示。
先把一维数组转成二维数组
pages(list){
const pages = []
list.forEach((item,index)=>{
const page = Math.floor(index/8)
if(!pages[page]){
pages[page]=[]
}
pages[page].push(item)
})
return pages
}
再在页面循环
<van-swipe class="my-swipe">
<van-swipe-item v-for="itemss in localList">
<van-grid :column-num="4" square center :border="false" class="grid" gutter="10">
<van-grid-item @click="enterPage(item.moduleUrl)" v-for="item in itemss" :key="item.id" :badge="item.badge">
<template #icon>
<img width="52" height="52" :src="item.logoFileUrl" style="border-radius: 50%" :alt="item.moduleName" />
</template>
<template #text>
<span class="grid-text tc">{{ item.moduleName }}</span>
</template>
</van-grid-item>
</van-grid>
</van-swipe-item>
</van-swipe>