赞
踩
swiper 外部容器
swiper-item 每一页的数据
因为现在有多排数据,现在在swiper-item 中需要循环一个数组
<template> <view> <view class="container"> <view class="swiper-box"> <swiper class="swiper" indicator-dots="true"> <!-- 外层循环控制页数 --> <swiper-item v-for="(el,index) in Math.ceil(listTop.length/6)" :key="index"> <!-- 内层循环:控制每页个数 --> <view class="swiper-item" v-for="(el2, index2) in listTop.slice(index*6,(index+1)*6)"> <view class="text">{{ el2.text }}</view> </view> </swiper-item> </swiper> </view> </view> </view> </template> <script> export default { data() { return { listTop: [{ //图标 icon: '/static/index/组 57.png', //标题 text: '新员工入职培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '专业力培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '管理能力培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '客服序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '金鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '工程序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '雄鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '秩序序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '飞鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '环境序列', //箭头 arrow: '/static/index/组 57.png' }, ], }; } } </script> <style lang="scss" scoped> .container { width: 400rpx; height: 600rpx; margin: 0 auto; // 可视区域盒子大小 .swiper-box { width: 400rpx; height: 500rpx; border: 2px solid black; // swiper组件 .swiper { display: flex; height: 100%; // 每页的内容 .swiper-item { display: flex; .text { color: pink; } } } } } </style>
目标是3排两列
一页6个
但是现在是一页6排1列
??如何变成两列
注意
swiper组件和swiper-item 有默认样式,会影响布局
主要采用flex布局
//swiper-item 组件
.item {
display: flex;
// 允许项目换行
flex-wrap: wrap;
// 多行项目在交叉轴上的对齐方式
align-content: flex-start;
justify-content: space-evenly;
align-items: flex-start;
}
<template> <view> <view class="container"> <view class="swiper-box"> <swiper class="swiper" indicator-dots="true"> <!-- 外层循环控制页数 --> <swiper-item class="item" v-for="(el,index) in Math.ceil(listTop.length/6)" :key="index"> <!-- 内层循环:控制每页个数 --> <view class="swiper-item" v-for="(el2, index2) in listTop.slice(index*6,(index+1)*6)"> <view class="text">{{ el2.text }}</view> </view> </swiper-item> </swiper> </view> </view> </view> </template> <script> export default { data() { return { listTop: [{ //图标 icon: '/static/index/组 57.png', //标题 text: '新员工入职培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '专业力培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '管理能力培训', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '客服序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '金鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '工程序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '雄鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '秩序序列', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '飞鹰计划', //箭头 arrow: '/static/index/组 57.png' }, { //图标 icon: '/static/index/组 57.png', //标题 text: '环境序列', //箭头 arrow: '/static/index/组 57.png' }, ], }; } } </script> <style lang="scss" scoped> .container { width: 400rpx; height: 600rpx; margin: 0 auto; // 可视区域盒子大小 .swiper-box { width: 400rpx; height: 500rpx; border: 2px solid black; // swiper组件 .swiper { display: flex; height: 100%; //swiper-item 组件 .item { display: flex; // 允许项目换行 flex-wrap: wrap; // 多行项目在交叉轴上的对齐方式 align-content: flex-start; justify-content: space-evenly; align-items: flex-start; // 每页的每一个内容 .swiper-item { margin-top: 20rpx; width: 45%; border: 1px solid pink; height: 100rpx; line-height: 100rpx; text-align: center; .text {} } } } } } </style>
三行两列
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。