W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
頁面上有 N 張卡牌,每張卡牌對應不同獎品,用戶點擊卡牌進行翻牌抽獎。開發(fā)者可自定義卡牌數(shù)量和翻牌的次數(shù)。
更多詳細信息請參見 代碼市場。
npm i ant-mini-flip-draw --save
//.json
{
"usingComponents": {
"flipdraw": "ant-mini-flip-draw/component/index"
}
}
<!-- .axml -->
<view>
<flipdraw
prizeList="{{prizeList}}"
prizeName="{{prizeName}}"
isDrawing="{{isDrawing}}"
flipAllCards="{{flipAllCards}}"
onFlipStart="onFlipStart"
/>
</view>
//.js
Page({
data: {
docParamsImg: "https://img.alicdn.com/tfs/TB1sfaaJSzqK1RjSZFHXXb3CpXa-1326-846.png",
prizeList: [
{
'name': '謝謝參與1',
'icon': 'https://zos.alipayobjects.com/rmsportal/dexmbhnbsLRGIZGBqTcA.png'
},
{
'name': '666元紅包',
'icon': 'https://zos.alipayobjects.com/rmsportal/nxpXbcNBOmbeIOVCUsuS.png'
},
{
'name': '1元紅包',
'icon': 'https://zos.alipayobjects.com/rmsportal/RxQruKQwiQCeYXhvwCfP.png'
},
{
'name': '3元紅包',
'icon': 'https://zos.alipayobjects.com/rmsportal/tyMAYvTdjRFOVxqWVhsj.png'
},
{
'name': '謝謝參與2',
'icon': 'https://zos.alipayobjects.com/rmsportal/dexmbhnbsLRGIZGBqTcA.png'
},
{
'name': '1元紅包',
'icon': 'https://zos.alipayobjects.com/rmsportal/RxQruKQwiQCeYXhvwCfP.png'
},
{
'name': '謝謝參與3',
'icon': 'https://zos.alipayobjects.com/rmsportal/dexmbhnbsLRGIZGBqTcA.png'
},
{
'name': '5元紅包',
'icon': 'https://zos.alipayobjects.com/rmsportal/qanDEFeGBoiPflYxkhJY.png'
}
],
cardBgImg: 'https://gw.alicdn.com/tfs/TB1P.AMXMHqK1RjSZJnXXbNLpXa-610-600.png',
prizeName: '',
flipAllCards: false,
isDrawing: false,
},
onFlipStart() {
console.log('開始了,這個時候最好頁面控制下 loading 狀態(tài),組件內不做控制');
this.setData({
isDrawing: true, // 修改抽獎狀態(tài),防止重復點擊多次請求
});
// 開始抽獎
setTimeout(() => {
console.log('拿到結果,設置獎品信息');
if (Math.random() > 0.3) {
this.setData({
prizeName: '666元紅包',
isDrawing: false,
});
} else {
this.setData({
isDrawing: false, // 抽獎結束一定要還原 isDrawing 狀態(tài)
});
}
this.showResultDialog()
}, 1000);
},
showResultDialog() {
// do something
this.setData({
flipAllCards: true, // 將剩下未翻過的牌自動翻,展示獎品結果。
})
}
});undefined
屬性 | 描述 | 類型 | 默認值 | 必填 |
---|---|---|---|---|
prizeList | 獎項列表,須包含 name 和 icon 字段。 | Array | [] | 是 |
prizeName | 抽獎結果的獎品 name,其值必須位于 prizeList 中。 | String | '' | 是 |
cardNum | 展示多少張卡片,推薦 3/6/9。 | Number | 9 | 是 |
cardHeight | 寬度固定 210,高度需要等比換算設置。 | Number | 210 | 是 |
cardBgImg | 卡背圖片。 | String | - | 是 |
unawardImg | 未中獎展示圖片。 | String | - | 是 |
isDrawing | 是否正在抽獎,用于限制點擊。 | Boolean | - | 是 |
flipAllCards | 是否翻轉剩余卡片。 | String | - | 否 |
onFlipStart | 轉動開始的回調。 | Function | () => {} | 否 |
isDrawing = true
,請求結束后一定要設置 isDrawing = false
;Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: