IWIW
  • Guide
  • 布局
  • 前端架构
  • 特效
  • 组件
⌘ K
Light mode
组件
未读消息
黑胶播放器
数据录入
颜色拾取
树形组件
数据展示
轮播图
瀑布流
步骤条
图片预览
最后更新时间:
Copyright © 2026 | Powered by dumi
‌
‌
‌
‌

轮播图

使用场景

TODO

代码演示

API

Carousel API

参数说明类型默认值
autoPlay是否自动播放booleantrue
width每个元素的宽度number50
defaultAnimationTime切换元素时,动画时间number1(1s 的意思)

AnimationCarousel API

参数说明类型默认值
animationTime动画时间number-
items子元素集合{ element: React.ReactNode; width: number }[]-
方法说明参数返回值
clickHandler元素被点击时的回调函数子元素本身-

原理

这是一个简单的轮播图组件,用于展示多个项目。它支持自动轮播、左右切换等功能。

采用“克隆首尾元素 + translateX + transition”的方式
**核心思路**
  1. 添加首尾克隆元素:
    • 比如轮播内容是 [A, B, C],那么实际渲染内容为 [C, A, B, C, A]。
    • 初始展示的是索引 1 的位置(也就是真实的 A)。
    • 当你向左滑动到C(索引0) 或向右滑动到A(索引4)时,等动画结束后立即跳转到对应的真实位置 C(索引3) 或 A(索引1),无过渡跳转。
  2. 使用 translateX + transition 实现过渡,在过渡结束后执行无动画的跳转,保证用户感知不到跳动。