更新记录

2.0.0(2025-10-09) 下载此版本

✨ 新功能

  • 新增多种显示模式:dots(点状)、numbers(数字)、progress(进度条)、thumbnails(缩略图)
  • 新增多种形状:circle(圆形)、square(方形)、diamond(菱形)、bar(条形)、custom(自定义)
  • 新增丰富动画效果:scale(缩放)、rotate(旋转)、bounce(弹性)、pulse(脉冲)、fade(淡入淡出)、none(无动画)
  • 新增位置布局选项:top(顶部)、bottom(底部)、left(左侧)、right(右侧)、inside(内嵌)
  • 新增交互功能:点击跳转、悬停效果
  • 新增事件支持:change、click、hover
  • 新增插槽支持:indicator、thumbnail

1.0.0(2025-09-11) 下载此版本

1.0.0


平台兼容性

uni-app(4.07)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟

uni-app x(4.07)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

其他

多语言 暗黑模式 宽屏模式
× ×

yo-indicator-dot

🚀 功能强大的轮播指示器组件,支持多种显示模式、形状和动画效果

✨ 功能特点

  • 🎯 零配置开箱即用 - 不传任何参数就能正常工作
  • 🎨 多种显示模式 - 点状、数字、进度条、缩略图
  • 🔷 多种形状 - 圆形、方形、菱形、条形、自定义
  • ⚡️ 丰富动画 - 缩放、旋转、弹性、脉冲、淡入淡出
  • 📍 灵活位置 - 顶部、底部、左侧、右侧、内嵌
  • 🖱️ 交互功能 - 点击跳转、悬停效果
  • 📱 全平台支持 - H5、小程序、App
  • 🔄 向后兼容 - 现有代码升级无压力

🚀 快速开始

1. 安装

通过 HBuilderX 插件市场安装:

  1. 打开 HBuilderX
  2. 点击菜单栏 工具插件安装
  3. 搜索 yo-indicator-dot 并安装
  4. 或直接下载 uni_modules 文件夹到项目中

2. 基础使用

<template>
  <view>
    <swiper @change="onSwiperChange" indicator-dots="false">
      <swiper-item v-for="(item, index) in bannerList" :key="index">
        <view>{{ item.title }}</view>
      </swiper-item>
    </swiper>

    <!-- 最简单的使用方式 -->
    <yo-indicator-dot 
      :current-index="currentIndex" 
      :length="bannerList.length"
    />
  </view>
</template>

<script setup>
import { ref } from 'vue'

const currentIndex = ref(0)
const bannerList = ref([
  { title: '轮播图 1' },
  { title: '轮播图 2' },
  { title: '轮播图 3' }
])

const onSwiperChange = (e) => {
  currentIndex.value = e.detail.current
}
</script>

🎨 显示模式

点状模式(默认)

<yo-indicator-dot 
  :current-index="currentIndex" 
  :length="length"
  mode="dots"
  shape="circle"
  animation="scale"
/>

数字模式

<yo-indicator-dot 
  :current-index="currentIndex" 
  :length="length"
  mode="numbers"
  active-color="#00cc66"
/>

进度条模式

<yo-indicator-dot 
  :current-index="currentIndex" 
  :length="length"
  mode="progress"
  default-color="#e5e5e5"
  active-color="#ff6b6b"
  progress-height="8rpx"
/>

缩略图模式

<yo-indicator-dot 
  :current-index="currentIndex" 
  :length="length"
  mode="thumbnails"
  thumbnail-size="60rpx"
>
  <template #thumbnail="{ index, isActive }">
    <image :src="thumbnails[index]" />
  </template>
</yo-indicator-dot>

🔷 形状样式

<!-- 圆形(默认) -->
<yo-indicator-dot shape="circle" />

<!-- 方形 -->
<yo-indicator-dot shape="square" />

<!-- 菱形 -->
<yo-indicator-dot shape="diamond" />

<!-- 条形 -->
<yo-indicator-dot shape="bar" />

<!-- 自定义 -->
<yo-indicator-dot shape="custom" custom-content>
  <template #indicator="{ index, isActive }">
    <text>{{ index + 1 }}</text>
  </template>
</yo-indicator-dot>

⚡️ 动画效果

<!-- 缩放动画(默认) -->
<yo-indicator-dot animation="scale" />

<!-- 旋转动画 -->
<yo-indicator-dot animation="rotate" />

<!-- 弹性动画 -->
<yo-indicator-dot animation="bounce" />

<!-- 脉冲动画 -->
<yo-indicator-dot animation="pulse" />

<!-- 淡入淡出 -->
<yo-indicator-dot animation="fade" />

<!-- 无动画 -->
<yo-indicator-dot animation="none" />

📍 位置布局

<!-- 底部(默认) -->
<yo-indicator-dot position="bottom" />

<!-- 顶部 -->
<yo-indicator-dot position="top" />

<!-- 左侧 -->
<yo-indicator-dot position="left" />

<!-- 右侧 -->
<yo-indicator-dot position="right" />

<!-- 内嵌 -->
<yo-indicator-dot position="inside" />

🖱️ 交互功能

<yo-indicator-dot 
  :current-index="currentIndex" 
  :length="length"
  :clickable="true"
  :hoverable="true"
  @click="onIndicatorClick"
  @change="onIndicatorChange"
  @hover="onIndicatorHover"
/>

📋 完整参数

基础参数(向后兼容)

参数 类型 默认值 说明
current-index Number 0 当前轮播的下标
length Number 0 轮播数据的长度
default-color String #cccccc 默认指示点的颜色
active-color String #007aff 选中指示点的颜色
default-width String 12rpx 默认指示点宽度
active-width String 20rpx 选中指示点宽度
dot-height String 12rpx 指示点高度
gap String 12rpx 指示点间距
duration String 0.3s 动画持续时间

💡 智能形状提示: 当 active-widthdefault-widthdot-height 的2倍以上时,组件会自动使用条形样式,确保视觉效果更佳。

新增功能参数

参数 类型 默认值 说明
mode String dots 显示模式:dots/numbers/progress/thumbnails
shape String circle 指示器形状:circle/square/diamond/bar/custom
animation String scale 动画效果:scale/rotate/bounce/pulse/fade/none
position String bottom 位置:top/bottom/left/right/inside
clickable Boolean true 是否可点击
hoverable Boolean true 是否显示悬停效果
custom-content Boolean false 自定义内容(用于custom形状)
progress-height String 6rpx 进度条高度(progress模式)
thumbnail-size String 60rpx 缩略图尺寸(thumbnails模式)

🎯 事件

事件名 说明 参数
change 指示器切换时触发 index: 新的下标
click 点击指示器时触发 index: 点击的下标
hover 悬停指示器时触发 { index, isHover }

🔧 插槽

插槽名 说明 参数
indicator 自定义指示器内容 { index, isActive }
thumbnail 自定义缩略图内容 { index, isActive }

💡 使用技巧

1. 渐进式增强

<!-- 基础使用 -->
<yo-indicator-dot :current-index="index" :length="length" />

<!-- 需要更多功能时再添加参数 -->
<yo-indicator-dot 
  :current-index="index" 
  :length="length"
  mode="numbers"
  animation="bounce"
/>

2. 主题定制

<yo-indicator-dot 
  :current-index="index" 
  :length="length"
  default-color="rgba(255,255,255,0.3)"
  active-color="rgba(255,255,255,0.9)"
  position="inside"
/>

3. 响应式设计

<yo-indicator-dot 
  :current-index="index" 
  :length="length"
  :gap="isMobile ? '8rpx' : '12rpx'"
  :dot-height="isMobile ? '8rpx' : '12rpx'"
/>

📱 平台支持

  • ✅ H5(Safari、Chrome、Firefox)
  • ✅ App(Android、iOS、HarmonyOS)
  • ✅ 微信小程序、支付宝小程序、百度小程序
  • ✅ 字节跳动小程序、QQ小程序、***小程序
  • ✅ 钉钉小程序、京东小程序

🔄 更新日志

v2.0.0

  • ✨ 新增多种显示模式(数字、进度条、缩略图)
  • ✨ 新增多种形状(方形、菱形、条形、自定义)
  • ✨ 新增丰富动画效果
  • ✨ 新增位置布局选项
  • ✨ 新增交互功能(点击、悬停)
  • 🔧 保持向后兼容,现有代码无需修改
  • 📚 完善文档和演示

v1.0.0

  • 🎉 初始版本发布
  • 基础点状指示器功能
  • 支持自定义颜色和尺寸

License

MIT

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议