Skip to content

Commit

Permalink
fix(Swiper): 修复轮播图第一张图往左拖拽无法到最
Browse files Browse the repository at this point in the history
后一张图
  • Loading branch information
ChenlingasMx committed Apr 21, 2023
1 parent 4a909a9 commit 70e856c
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion packages/core/src/Swiper/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ export default SwiperDemo
| borderRadius | 圆角边框 | Number | 0 |
| autoplay | 是否开启定时器 | Boolean | true|
| dotStyle | 圆点类型 ( dot : 圆点, block : 方块 ) | String | dot |
| loading | 加载状态 | Boolean | false |
| loading | 加载中状态 | Boolean | false |
24 changes: 15 additions & 9 deletions packages/core/src/Swiper/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,23 @@ export interface dataSourceType {
}
export type dotType = 'dot' | 'block';
export interface SwiperProps {
// 数据源
/** 图片数据源 */
dataSource?: dataSourceType[];
// 轮播图宽度
/** 轮播图宽度 */
width?: number;
// 轮播图高度
/** 轮播图高度 */
height?: number;
// 播放时间
/** 播放时间 */
time?: number;
// 圆角边框
/** 圆角边框 */
borderRadius?: number;
// 是否开启自动播放
/** 是否开启自动播放 */
autoplay?: boolean;
// 指示点样式 dot: 圆点 block: 方块
/** 指示点样式 dot: 圆点 block: 方块 */
dotStyle?: dotType;
// 初始位置
/** 初始位置 */
index?: number;
/** 是否加载中 */
loading?: boolean;
}
const Swiper = (porps: SwiperProps) => {
Expand Down Expand Up @@ -105,7 +106,12 @@ const Swiper = (porps: SwiperProps) => {
let offSetX = e.nativeEvent.contentOffset.x;
let mentWidth = e.nativeEvent.layoutMeasurement.width;
let page = offSetX / mentWidth;

// 第一张图片
if (page === 0 && offSetX <= 0) {
setCurIndex(dataSource.length - 1);
scrollToRef.current.scrollTo({ x: dataSource.length * width, y: 0, animated: false }); // 让 ScrollView 定位到最后一张图片
}
// 最后一张图片
if (page === dataSource.length) {
setCurIndex(0);
scrollToRef.current.scrollTo({ x: 0, y: 0, animated: false });
Expand Down

0 comments on commit 70e856c

Please sign in to comment.