3.1.6 • Published 2 years ago

rax-slider v3.1.6

Weekly downloads
161
License
BSD-3-Clause
Repository
github
Last release
2 years ago

rax-slider

npm

Web 场景推荐使用 rax-swiper

rax-slider 由于历史原因,可能存在一些问题,非内联样式场景强烈推荐使用 rax-swiper

支持

Web / Weex / 阿里小程序 / 微信小程序 / 字节跳动小程序

描述

轮播组件,就是以幻灯片的方式,在页面中横向展示诸多内容的组件。 轮播内容相互独立,前后在内容以及数据上都不存在逻辑关系。

安装

$ npm install rax-slider --save

属性

  1. Web 环境中 slider 内部默认做了节点的懒加载渲染,不再需要使用 picture 的lazyload做懒加载
  2. paginationStyleitemColor 用来定义分页原点的颜色,itemSelectedColor 用来定义分页原点激活时的颜色,itemSize用来定义分页圆点的大小,小程序只支持设置 itemColor 用来定义分页原点的颜色,itemSelectedColor。快应用只支持itemColoritemSelectedColoritemSize三个用来定义分页圆点的样式。默认样式如下:
{
  position: 'absolute',
  width: '40rpx',
  height: '40rpx',
  bottom: '20rem',
  left: 0,
  itemColor: 'rgba(255, 255, 255, 0.5)',
  itemSelectedColor: 'rgb(255, 80, 0)',
  itemSize: '8rpx'
}
属性类型默认值必填描述支持
widthstring-Slider 的宽度
heightstring-Slider 的高度
autoPlaybooleanfalse是否自动播放
showsPaginationbooleantrue是否显示指示点
paginationStyleobject-自己定义指示点的样式,否则默认样式居中
loopbooleantrue是否是循环播放
indexnumber0指定默认初始化第几页
autoPlayIntervalnumber3000自动播放的间隔时间
onChangefunction-index 改变时会触发
directionstringhorizontalSlider 滚动方向 (horizontal / vertical)

方法

Slider.slideTo(index: number)

参数

属性类型默认值必填描述
indexnumber-滚动到指定索引的 View

Slider.Item

每一个需要被轮播的子元素需要被包裹在 Slider.Item 组件中,在 Weex 和 Web 该组件是 Fragment 空节点,在小程序该组件是 swiper-item。由于该节点没有实际意义,所以不要在该组件上设置样式和绑定事件。 如果只在 Web 和 Weex 中使用,每一个需要轮播的子项无需包裹 Slider.Item 组件。

示例

import { createElement, Component, render, createRef } from 'rax';
import View from 'rax-view';
import Image from 'rax-image';
import Slider from 'rax-slider';
import DriverUniversal from 'driver-universal';

class App extends Component {
  constructor(props) {
    super(props);

    this.inputRef = createRef();
  }

  onchange = (index) => {
    console.log('change', index);
  };

  onClick = () => {
    this.inputRef.current.slideTo(0);
  };

  render() {
    return (
      <View>
        <Slider
          className="slider"
          width="750"
          height="500"
          style={styles.slider}
          autoPlay={true}
          loop={true}
          showsPagination={true}
          paginationStyle={styles.paginationStyle}
          autoplayTimeout={3000}
          onChange={this.onchange}
          ref={this.inputRef}
        >
          <Slider.Item>
            <View style={styles.itemWrap}>
              <Image
                style={styles.image}
                source={{
                  height: 500,
                  width: 375,
                  uri: '//gw.alicdn.com/tfs/TB19NbqKFXXXXXLXVXXXXXXXXXX-750-500.png',
                }}
              />
            </View>
          </Slider.Item>
          <Slider.Item>
            <View style={styles.itemWrap}>
              <Image
                style={styles.image}
                source={{
                  height: 500,
                  width: 375,
                  uri: '//gw.alicdn.com/tfs/TB1tWYBKFXXXXatXpXXXXXXXXXX-750-500.png',
                }}
              />
            </View>
          </Slider.Item>
          <Slider.Item>
            <View style={styles.itemWrap}>
              <Image
                style={styles.image}
                source={{
                  height: 500,
                  width: 375,
                  uri: '//gw.alicdn.com/tfs/TB1SX_vKFXXXXbyXFXXXXXXXXXX-750-500.png',
                }}
              />
            </View>
          </Slider.Item>
        </Slider>

        <View onClick={this.onClick}>Click</View>
      </View>
    );
  }
}

const styles = {
  slider: {
    width: 750,
    position: 'relative',
    overflow: 'hidden',
    height: 500,
    backgroundColor: '#cccccc',
  },
  itemWrap: {
    width: 750,
    height: 500,
  },
  image: {
    width: 750,
    height: 500,
  },
  button: {
    marginTop: 20,
    width: 340,
    height: 80,
  },
  paginationStyle: {
    position: 'absolute',
    width: 750,
    height: 40,
    bottom: 20,
    left: 0,
    itemColor: 'rgba(255, 255, 255, 0.5)',
    itemSelectedColor: 'rgb(255, 80, 0)',
    itemSize: 16,
  },
};

render(<App />, document.body, { driver: DriverUniversal });
3.1.6

2 years ago

3.1.6-beta.1

2 years ago

3.1.6-beta.0

3 years ago

3.1.5

3 years ago

3.1.5-0

3 years ago

3.1.4

3 years ago

3.1.3

3 years ago

3.1.2

3 years ago

3.1.2-0

3 years ago

3.1.1

3 years ago

3.1.0

3 years ago

3.1.0-0

3 years ago

3.0.7

3 years ago

3.0.7-beta.1

3 years ago

3.0.7-0

3 years ago

3.0.6

3 years ago

3.0.5

3 years ago

3.0.4

3 years ago

3.0.3

3 years ago

3.0.2

3 years ago

3.0.1

3 years ago

3.0.0

3 years ago

2.3.10-0

4 years ago

2.3.10-1

4 years ago

2.3.9

4 years ago

2.3.8

4 years ago

2.3.8-0

4 years ago

2.3.7

4 years ago

2.3.7-1

4 years ago

2.3.7-0

4 years ago

2.3.6

4 years ago

2.3.6-0

4 years ago

2.3.5

4 years ago

2.3.4

4 years ago

2.3.4-1

4 years ago

2.3.4-0

4 years ago

2.3.3

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.0-0

4 years ago

2.1.0

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.2-0

4 years ago

1.1.1

4 years ago

1.1.1-beta.9

5 years ago

1.1.1-beta.8

5 years ago

1.1.1-beta.7

5 years ago

1.1.1-beta.6

5 years ago

1.1.1-beta.5

5 years ago

1.1.1-beta.4

5 years ago

1.1.1-beta.3

5 years ago

1.1.1-beta.2

5 years ago

1.1.1-beta.1

5 years ago

1.1.0-12

5 years ago

1.1.0-11

5 years ago

1.1.0-10

5 years ago

1.1.0-9

5 years ago

1.1.0-8

5 years ago

1.1.0-7

5 years ago

1.1.0-6

5 years ago

1.1.0-5

5 years ago

1.1.0-4

5 years ago

1.1.0-3

5 years ago

1.1.0-2

5 years ago

1.1.0-1

5 years ago

1.1.0-0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.2-beta

5 years ago

1.0.1-beta.3

5 years ago

1.0.1-beta.2

5 years ago

1.0.1-beta.1

5 years ago

1.0.1-beta.0

5 years ago

1.0.0

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.1

5 years ago

1.0.0-beta.0

5 years ago

0.7.0

5 years ago

0.7.0-beta.0

5 years ago

0.6.6-1

6 years ago

0.6.6

6 years ago

0.6.5-1

6 years ago

0.6.5

6 years ago

0.6.4

6 years ago

0.6.3

6 years ago

0.6.2

6 years ago

0.6.1

6 years ago

0.6.0

6 years ago

0.5.4

6 years ago

0.5.2

6 years ago

0.5.1

6 years ago

0.5.0

6 years ago

0.4.22-beta

7 years ago

0.4.21-beta

7 years ago

0.4.20

7 years ago

0.4.19

7 years ago

0.4.18

7 years ago

0.4.17

7 years ago

0.4.16

7 years ago

0.4.15

7 years ago

0.5.0-beta

7 years ago

0.4.14

7 years ago

0.4.13

7 years ago

0.4.12

7 years ago

0.4.11

7 years ago

0.4.10

7 years ago

0.4.9

7 years ago

0.4.8

7 years ago

0.4.7

7 years ago

0.4.6

7 years ago

0.4.5

7 years ago

0.4.4

7 years ago

0.4.3

7 years ago

0.4.2

7 years ago

0.4.1

7 years ago

0.4.0

7 years ago

0.3.8

7 years ago

0.3.7

7 years ago

0.3.6

7 years ago

0.3.5

7 years ago

0.3.4

7 years ago

0.3.3

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

0.2.11

7 years ago

0.2.10

7 years ago

0.2.9

7 years ago

0.2.8

7 years ago

0.2.7

7 years ago

0.2.6

7 years ago

0.2.5

7 years ago

0.2.4

7 years ago

0.2.3

7 years ago

0.2.2

7 years ago

0.2.1

7 years ago

0.2.0

7 years ago