Vant轮播多个,实现一次轮播中展示多个div,此处以三个一屏为例

实现效果如下:
最终展示效果

实现思路:
1、官方示例是循环列表,如下第一块代码块,从而实现每屏只有一张图片;
2、而需求是,希望每屏多张图片,或是多个div,所以意味着,每屏中不是单个,而是多个,考虑到用列表,用循环嵌套,相当于两层循环;
3、重点来了:所以我们需要给原始列表分组,例如原始数据为[1,2,3,4,5],需要变成[[1,2,3],[4,5]],实现代码如下第二块代码块。

<van-swipe-item v-for="(image, index) in images" :key="index">
    <img v-lazy="image" />
  </van-swipe-item>
// 给list分组
    groupList(list) {
      const arr = []
      for (var i = 0; i < list.length; i += 3) {
        arr.push(list.slice(i, i + 3))
      }
      return arr
    }

这里对于组件引用就赘述了,具体可参考Vant官方文档,对应的html需要改成如下,其中groups为groupList方法的处理结果

 <!--轮播图-->
  <div class="cont-lb">
    <van-swipe :autoplay="3000" :lazy-render="true">
      <van-swipe-item v-for="(itemlist, key) in groups" :key="key">
        <template v-for="(item, index) in itemlist">
          <div :key="index" class="img-class" @click="toXxx(item)">
            <span>{{ item.name}}</span>
            <img :src="item.img" alt>
          </div>
        </template>
      </van-swipe-item>
    </van-swipe>
  </div>

附样式修改代码如下:

.cont-lb{
    /deep/ .van-swipe__indicator {
      background: #bbc0c7;
    }
    /deep/.van-swipe__indicator--active {
      background: #58fa0b;
    }
  }
  
  .img-class {
    background: transparent;
    width: 30%;
    box-shadow: 0px 2px 12px rgba(100, 101, 102, 0.12);
    border-radius: 5px;
    border: 0.75px solid #EDEEEF;
    float: left;
    margin-left: 9px;
  }
  .img-class > span{
    position: absolute;
    margin-left: 10.5px;
    margin-top: 8.5px;
    font-size: 15px;
    font-weight: 600;
  }
  .img-class > img {
    width: 100%;
    height: 76px;
  }
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
抽屉侧边栏是指一种能够在网页上以侧边栏形式展示的UI组件。使用Vant UI框架结合Vue框架可以轻松实现一个抽屉侧边栏。 首先,我们需要在Vue项目安装并引入Vant UI框架。可以通过npm或yarn安装,然后在项目引入vant的样式文件和组件。 接下来,在Vue组件,可以使用Vant UI的van-drawer组件来创建抽屉侧边栏。在模板使用<v-drawer>标签,并且设置相应的属性和事件来定义侧边栏的展示和交互行为。 例如,可以设置v-model绑定一个控制抽屉侧边栏显示与隐藏的变量。通过在模板添加一个按钮或其他交互元素,点击时可以通过改变该变量的值来控制抽屉的显示与隐藏。 具体代码如下: ``` <template> <div> <van-button type="primary" @click="showSidebar">打开侧边栏</van-button> <van-drawer :show="show" @close="closeSidebar"> <!-- 侧边栏的内容 --> </van-drawer> </div> </template> <script> export default { data() { return { show: false // 控制侧边栏的显示与隐藏 }; }, methods: { showSidebar() { this.show = true; }, closeSidebar() { this.show = false; } } }; </script> ``` 在上面的代码,通过点击"打开侧边栏"按钮触发showSidebar方法,将show变量设为true,从而显示侧边栏。同时,通过在van-drawer组件监听close事件,当侧边栏关闭时,调用closeSidebar方法将show变量设为false,从而隐藏侧边栏。 通过以上步骤,我们就可以使用Vant UI和Vue框架实现一个简单的抽屉侧边栏。根据实际需求,可以进一步自定义抽屉的样式和内容,实现更丰富的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值