carousel组建中的走马灯两种展现形式
1、图片堆叠到一块
2、卡片化
3、需求设计需要多张图片平铺,有左右切换效果
4、只能在数据上做处理,话不多说,直接看代码
<template>
<div v-for="(item,index) in dataList" :key="index">
<div>{{item.name}}</div>
<el-carousel :autoplay="false">
<el-carousel-item class="el-car" v-for="(imgData,i) in item.newDataList" :key="i" >
<template v-for="(img,index) in imgData" >
<img :key="index" :src="img.url" alt="" class="top-img"/>
</template>
</el-carousel-item>
</el-carousel>
</div>
</template>
<script>
export default {
data() {
return {
dataList:[{
id: 176,
name: '第一批图片'
images: "../a.jpg,../b.jpg,../c.jpg,../d.jpg"
}],
}
},
mounted() {
this.getImg()
},
methods: {
getImg(){
this.dataList.forEach(e=>{
//处理images数据格式
e.images = e.images.split(',').map(item =>{
return {url: item}
})
e.newDataList = [] //新建数组循环获取4个图片
for(let i = 0; i<e.images.length; i+=4) {
e.newDataList.push(e.images.slice(i,i+4))
}
})
}
},
}
</script>
<style lang="scss" scoped>
.el-car{
width: 100%;
display: flex;
.top-img{
width: 25%;
height: 185px;
margin-right: 10px;
cursor: pointer;
}
}
</style>
5、敲黑板:
5.1、data中数据,images路径需要引入本地图片或后端数据图片地址
5.2、实际使用,对比后端数据返回格式images是否一致,不一致的自行处理哈