Skip to content

Swiper 轮播

此组件只是对 uni-app swiper 组件的再简单封装,可以方便的通过数据快速创建一个轮播。

基础使用

  • 通过 list 属性设置轮播数据。
  • 通过 keyName 设置数据中表示图片路径的字段名。
vue
<template>
    <hi-swiper :list="list" keyName="url"></hi-swiper>
</template>

<script setup>
    import { ref } from "vue";

    // 轮播数据
    const list = ref([
        { id: 1, url: "/static/images/temp.jpeg" },
        { id: 2, url: "/static/images/temp.jpeg" },
        { id: 3, url: "/static/images/temp.jpeg" },
        { id: 4, url: "/static/images/temp.jpeg" },
        { id: 5, url: "/static/images/temp.jpeg" }
    ]);
</script>

圆角大小

通过 radius 属性设置组件圆角大小。

vue
<template>
    <hi-swiper :list="list" keyName="url" radius="10px"></hi-swiper>
</template>

Props

属性名说明类型默认值可选值版本
hover指定按下去的样式类Stringhi-hover--
width宽度String---
height高度String---
radius圆角大小String---
list轮播数据Array<Object>---
keyName数据中表示图片路径的字段名Stringurl--
current当前轮播的索引Number0--
indicatorDots是否显示指示点Booleanfalsetrue-
indicatorColor指示点颜色Stringrgba(0, 0, 0, .3)--
indicatorActiveColor指示点激活颜色Stringvar(--hi-theme-primary)--
mode图片StringaspectFill参考-
lazyLoad是否懒加载图片Booleantrue参考-
fadeShow是否显示动画效果Booleantrue参考-
webp在系统不支持 webp 的情况下是否单独启用 webpBooleantrue参考-
showMenuByLongpress开启长按图片显示识别小程序码菜单Booleantrue参考-
draggable是否能拖动图片Booleanfalse参考-
activeClassswiper-item 可见时的 classString-参考-
changingClassacceleration 设置为 true 时且处于滑动过程中,中间若干屏处于可见时的 classString-参考-
autoplay是否自动播放Booleanfalse参考-
currentItemId当前所在滑块的 item-id ,不能与 current 被同时指定String-参考-
interval自动播放间隔时间,单位 msNumber5000参考-
duration滑动动画时长,单位 msNumber500参考-
circular是否衔接滑动Booleantrue参考-
vertical滑动方向是否为纵向Booleanfalse参考-
previousMargin前边距,可用于露出前一项的一小部分,接受 pxrpxNumber0rpx参考-
nextMargin后边距,可用于露出后一项的一小部分,接受 pxrpxNumber0rpx参考-
acceleration当开启时,会根据滑动速度,连续滑动多屏Booleanfalse参考-
disableProgrammaticAnimation是否禁用代码变动触发 swiper 切换时使用动画Booleanfalse参考-
displayMultipleItems同时显示的滑块数量Number1参考-
skipHiddenItemLayout是否跳过未显示的滑块布局Booleanfalse参考-
disableTouch是否禁止用户 touch 操作Booleanfalse参考-
touchable是否监听用户的触摸事件,只在初始化时有效,不能动态变更Booleantrue参考-
easingFunction指定 swiper 切换缓动动画类型Stringdefault参考-

Event

事件名说明回调参数版本
itemClickswiper-item 点击事件item: 当前点击的 item 的数据。index: 当前点击的 item 的索引值。-
changecurrent 改变时会触发 change 事件参考-
transitionswiper-item 的位置发生改变时会触发 transition 事件参考-
animationfinish动画结束时会触发 animationfinish 事件参考-
error图片加载失败时触发item: 加载失败图片所属 item 的数据。index: 加载失败图片所属 item 的索引值。-
load图片加载完成时触发item: 加载完成图片所属 item 的数据。index: 加载完成图片所属 item 的索引值。-

Slots

名称说明参数版本
defaultabsolute 内容插槽item: 当前 item 数据。index: 当前 item 索引。-
indicator轮播指示器插槽current: 当前激活项的索引。count: swiper-item 数量。-

样式变量

组件提供了以下样式变量,可以在使用时设置这些变量来修改组件的样式。

变量名默认值版本
--hi-swiper-width100%-
--hi-swiper-height360rpx-
--hi-swiper-positionrelative-
--hi-swiper-displayflex-
--hi-swiper-border-radius0-
--hi-swiper-overflowinitial-
--hi-swiper-content-left0-
--hi-swiper-content-top0-
--hi-swiper-content-right0-
--hi-swiper-content-bottom0-
--hi-swiper-content-transforminitial-
--hi-swiper-content-width100%-
--hi-swiper-content-height100%-
--hi-swiper-content-z-index8-

基于 MIT 许可发布