vue-prize-draw
v1.0.1
Published
> `npm i vue-luck-draw`
Downloads
3
Readme
安装
npm i vue-luck-draw
Demo演示
https://100px.net/vue-luck-draw/
使用
先找到
main.js
引入插件并use
import LuckDraw from 'vue-luck-draw'
Vue.use(LuckDraw)
然后就可以使用插件了, 以下是最基本的使用
<template>
<div id="app">
<LuckDraw
v-model="currIndex"
:awards="awards"
@start="handleStart"
@end="handleEnd"
/>
</div>
</template>
<script>
export default {
data () {
return {
currIndex: 0, // 奖品的索引
awards: [ // 奖品
{ name: '价值5988元华为 P30pro', color: '#f9e3bb' },
{ name: '价值398元车载空气净化器', color: '#f8d384' },
{ name: '价值25元百叶帘遮阳挡', color: '#f9e3bb' },
{ name: '16元油卡套餐红包', color: '#f8d384' },
{ name: '5元油卡直冲红包', color: '#f9e3bb' },
{ name: '3元话费直冲红包', color: '#f8d384' },
{ name: '价值32元重力感应手机支架', color: '#f9e3bb' },
{ name: '价值198元手提迷你车在保温冷藏箱', color: '#f8d384' },
],
}
},
methods: {
handleStart () {
console.log('开始抽奖')
},
handleEnd (index) {
alert('恭喜您抽到大奖, 奖品为' + this.awards[this.currIndex].name)
}
}
}
</script>
但我提供了更多可配置的参数, 比如:
<template>
<div id="app">
<!-- 以下是默认配置参数, 可以根据个人需要进行修改 -->
<LuckDraw
v-model="currIndex"
:awards="awards"
:rate="rate"
:radius="radius"
:textFontSize="textFontSize"
:lineHeight="lineHeight"
:textColor="textColor"
:textMargin="textMargin"
:textPadding="textPadding"
:btnFontSize="btnFontSize"
:btnColor="btnColor"
:btnBorderColor1="btnBorderColor1"
:btnBorderColor2="btnBorderColor2"
:btnBorderColor3="btnBorderColor3"
:btnBgColor="btnBgColor"
:btnText="btnText"
:btnRadius="btnRadius"
:borderColor="borderColor"
@start="handleStart"
@end="handleEnd"
/>
</div>
</template>
<script>
export default {
data () {
return {
currIndex: 0, // 奖品的索引
rate: 80, // 转盘速率
radius: 180, // 转盘半径
textFontSize: '13px', // 文字大小
lineHeight: 20, // 文字行高
textColor: '#d64737', // 文字颜色
textMargin: 30, // 文字距离边框距离
textPadding: 0, // 文字补偿宽度
btnFontSize: '26px', // 按钮文字大小
btnColor: '#d64737', // 按钮文件颜色
btnBorderColor1: '#d64737', // 按钮外边框颜色
btnBorderColor2: '#ffffff', // 按钮内边框颜色
btnBorderColor3: '#f6c66f', // 按钮指针颜色
btnBgColor: '#ffdea0', // 按钮背景颜色
btnText: '抽奖', // 按钮内容
btnRadius: 60, // 按钮半径
borderColor: '#d64737', // 边框颜色
awards: [ // 奖品
{ name: '价值5988元华为 P30pro', color: '#f9e3bb' },
{ name: '价值398元车载空气净化器', color: '#f8d384' },
{ name: '价值25元百叶帘遮阳挡', color: '#f9e3bb' },
{ name: '16元油卡套餐红包', color: '#f8d384' },
{ name: '5元油卡直冲红包', color: '#f9e3bb' },
{ name: '3元话费直冲红包', color: '#f8d384' },
{ name: '价值32元重力感应手机支架', color: '#f9e3bb' },
{ name: '价值198元手提迷你车在保温冷藏箱', color: '#f8d384' },
],
}
},
methods: {
handleStart () {
console.log('开始抽奖')
},
handleEnd (index) {
alert('恭喜您抽到大奖, 奖品为' + this.awards[this.currIndex].name)
}
}
}
</script>