1.0.0 • Published 3 years ago

@kafan/vue-speed-dial v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

SpeedDial 九宫格抽奖

介绍

插入九宫格抽奖控件

组件支持函数调用和组件调用

注意

为了css能够被px2rem识别到并进行rem转换,这里将css提取了出来,请务必记得手动载入样式

组件调用

SpeedDial组件可添加props属性后直接插入使用,可自己在组件上添加自定义类名覆盖样式

import '@kafan/vue-speed-dial/lib/index.css'

import SpeedDial from '@kafan/vue-speed-dial'

// 全局注册
Vue.use(SpeedDial)
// 使用
<template>
    <v-speeddial class="diyClassName" @rolledStart="start" @rolledEnd="end">
        <!-- <slot>可选插槽插入自定义内容</slot> -->
        <p style="paddingBottom:10px;color:#333">可选插槽插入自定义内容</p>
    </v-speeddial>
</template> 

<script>
export default {
    methods:{
        start(fn){
            fn(2)
        },
        end(){
            alert('isEnd');
        }
    }
}
</script>

props

组件调用时, 支持传入以下 props

参数说明类型默认值备注
prize-list九宫格的奖品列表Array全部是谢谢参与[{prize_name:'奖品名称',icon:'奖品图标'}]
nums抽奖次数[Number, String]0-
speed初始速度值[Number, String]300速度值越大则越慢
max-speed转动的最大速度[Number, String]40-
minturns转动的最小圈数[Number, String]4-
default-bg-pic默认宫格背景图String默认图片请和active图片成套配置,否则不生效
active-bg-pic宫格活跃背景图String默认图片请和default图片成套配置,否则不生效
btn-bg-pic抽奖按钮背景图String默认图片-
btn-text抽奖按钮文案String抽奖-
remain-text剩余次数文案String(剩余N次)-
show-remain-num是否显示剩余次数Booleantrue-
item-width宫格宽度String32.2%-
item-height宫格高度String32.2%-
item-margin-top宫格顶部间距String1.7%-
item-margin-right宫格右边间距String1.7%-
btn-offset-top抽奖按钮顶部偏移String33.9%-
center-distance中间按钮底部间距String35.6%-

事件监听

组件调用时, 会触发以下事件,可供监听回调:

事件说明备注
rolledStart九宫格开始转动-
rolledEnd九宫格结束转动-

函数调用

SpeedDial函数会返回自身实例对象,可以赋值给一个变量借以调用该实例的内置函数

import '@kafan/vue-speed-dial/lib/index.css'

import SpeedDial from '@kafan/vue-speed-dial'

const speedObj = SpeedDial({
    nums:3,
    btnText:'test',
    targetContainer:document.querySelectorAll('.line')[1],
    onRolledStart:(fn)=>{
        fn(2)
    },
    onRolledEnd:()=>{
        alert('isEnd');
    },
    slotScoped:()=>{
        return {tag:'p', data:{style: {color: '#333', paddingBottom: '10px'}}, text:'可选插槽插入自定义内容'}
    }
})

内置函数调用,如
speedObj.active();
speedObj.rolledStart(finalIndex);...等等

options

函数调用时, 支持传入以下 options

参数说明类型默认值备注
prizeList九宫格的奖品列表Array全部是谢谢参与[{prize_name:'奖品名称',icon:'奖品图标'}]
nums抽奖次数[Number, String]0-
speed初始速度值[Number, String]300速度值越大则越慢
maxSpeed转动的最大速度[Number, String]40-
minturns转动的最小圈数[Number, String]4-
defaultBgPic默认宫格背景图String默认图片请和active图片成套配置,否则不生效
activeBgPic宫格活跃背景图String默认图片请和default图片成套配置,否则不生效
btnBgPic抽奖按钮背景图String默认图片-
btnText抽奖按钮文案String抽奖-
remainText剩余次数文案String(剩余N次)-
showRemainNum是否显示剩余次数Booleantrue-
targetContainer插入的容器Objectdocument.body-
onRolledStart开始抽奖监听函数Function(fn) => {}fn为开始抽奖函数rolledStart,需传入最终奖品位置如fn(2)
onRolledEnd转动结束回调函数Function() => {}-
slotScoped插槽函数Function() => {}[() => VNode]
itemWidth宫格宽度String32.2%-
itemHeight宫格高度String32.2%-
itemMarginTop宫格顶部间距String1.7%-
itemMarginRight宫格右边间距String1.7%-
btnOffsetTop抽奖按钮顶部偏移String33.9%-
centerDistance中间按钮底部间距String35.6%-