无限滚动随机选择器
- 无限滚动
- 可交互滑动及点击滚动
- 自定义滚动时间
- 自定义 Tween.js 滚动动效,详见Tween.js动画算法使用示意实例
- 支持根据容器自适应缩放及设置缩放基点位置
npm install lucky-picker --save
import LuckyPicker from 'lucky-picker'
new LuckyPicker(config, option)
<script src="lucky-picker/index.js"></script>
new window.LuckyPicker(config, option)
config 容器配置
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
el | 选择器名或选择器 Dom,必需 | string or Dom | - |
autoScale | 是否设置自适应缩放,默认渲染出的组件宽高为 456px * 144px | boolean | false |
scaleOrigin | 设置缩放基点,可选值同 transform-origin 属性 | string | 'initial' |
option 数据配置
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
wheel | 数据,必需 | object | - |
init | 初始化完成回调 | function(scrollIns, rs),scrollIns:组件实例;rs:选中数据 | - |
end | start方法执行完成回调 | function(rs),rs:选中数据 | - |
getResult | 交互执行完成回调 | function(rs),rs:选中数据,interactive 设置为 true 生效 | - |
option.wheel 数据
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
data | 数据项,必需 | object[] | - |
selected | 初始选择项 | number / string | - |
infinite | 是否无限滚动 | boolean | true |
interactive | 是否可交互滑动及点击 | boolean | false |
wheel.data 数据
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
value | 唯一标识 | number / string | - |
display | 展示内容 | string | - |
名称 | 说明 |
---|---|
start(index, opt) | 随机滚动选择执行 |
destroy() | 销毁实例 |
appendItem(dataArr) | 插入数据,格式同创建实例 wheel.data |
removeItem(valArr) | 删除数据,值类型为 wheel.data.value |
newItem(dataArr) | 替换使用新数据,格式同创建实例 wheel.data |
start 参数
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
index | 随机选择项序号 | number | 随机数 |
opt | 执行时间、动效等配置 | object | - |
opt
名称 | 说明 | 类型 | 默认值 |
---|---|---|---|
time | 执行时间,单位毫秒ms | number | 5000 |
animation | 执行动效,可选值详见Tween.js动画算法使用示意实例 | string | 'Quad.easeInOut' |