luck-draw-react

1.0.4 • Public • Published

9宫格抽奖

API

属性 说明 类型 默认值
giftList 所有的奖品 arr null
gift 中奖的奖品 number null
playBtn 开始按钮的文案 String/React.Element 立即抽奖
times 抽奖的次数 number 1
speed 默认减速到ms展示结果 number 120
CYCLE_TIMES 50ms的速度转多少圈 number 3
className 样式 object ''
callback 每次抽完奖的回调 (item): void ''
finishCallback 抽奖次数用完的回调 (content, props): void ''
giftList = [{
                name: '奖品1',
                id: 1,
                ele: <div className={`custom_item`}>
                    <div className={`custom_item_main`}>
                    奖品1
                    </div>
                </div>
            }, {
                name: '奖品2',
                id: 2,
            }, {
                name: '奖品3',
                id: 3,
                ele: <div className={`custom_item`}>
                    <div className={`custom_item_main`}>
                    奖品2
                    </div>
                </div>
            }, {
                name: '奖品4',
                image: '',
                id: 4,
            }, {
                name: '奖品5',
                id: 5,
            }, {
                name: '奖品6',
                id: 6,
                ele: <div className={`custom_item`}>
                    <div className={`custom_item_main`}>
                    奖品3
                    </div>
                </div>
            }, {
                name: '奖品7',
                id: 7,
            }, {
                name: '奖品8',
                id: 8,
            }]

奖品数据顺序

1 2 3 4 5 6 7 8

用法

    import { LuckDraw } from 'LuckDraw'
    import 'luck-draw-react/dist/luck-draw.css';
    <LuckDraw
      giftList={this.state.luck_draw_data}
      times={this.state.sudoku_lottery_times}
      gift={this.state.gift}
      speed={120}
      callback={(act_item, e) => {
          console.log(act_item, e)
          e.reset()
          alert('中奖了')
      }}
      playBtn={<div className={`custom_item`}><div className={`custom_item_btn`} > </div></div>}
      beforeStart={() => {
          return new Promise((resolve) => {
              setTimeout(() => {
                  this.setState({
                      gift: { id: 3 }
                  })
                  resolve(11111)
              }, 1000)
          })
      }}
      finishCallback={(e) => {
          alert('没有次数了')
      }}
  ></LuckDraw>

注意:

调用抽奖组件的方法: 1. 通过ref,  2. 通过callback回调函数参数中的current对象,例如:current.reset()

Package Sidebar

Install

npm i luck-draw-react

Weekly Downloads

6

Version

1.0.4

License

ISC

Unpacked Size

84.4 kB

Total Files

14

Last publish

Collaborators

  • milletchen