Vue移动端抽奖组件,用于大转盘滚动抽奖场景,可配置奖品、图片、转盘样式等。下面编程教程网小编给大家简单介绍一下具体实现代码!
vue组件安装
import { createApp } from "vue";
// vue
import { Turntable } from "@nutui/nutui-bingo";
// taro
import { Turntable } from "@nutui/nutui-bingo-taro";
const app = createApp();
app.use(Turntable);
vue基础用法
<template>
<nutbig-turntable
class="turntable"
ref="turntable"
:width="luckWidth"
:height="luckheight"
:prize-list="prizeList"
:turns-number="turnsNumber"
:turns-time="turnsTime"
:prize-index="prizeIndex"
:style-opt="styleOpt"
:pointer-style="pointerStyle"
@start-turns="startTurns"
@end-turns="endTurns"
>
</nutbig-turntable>
</template>
<script>
import { Toast } from "@nutui/nutui";
import { ref, reactive } from "vue";
export default {
setup() {
const turntable = ref(null);
// 转盘大小
const luckWidth = ref("450px");
const luckheight = ref("450px");
// 转盘指针图片样式
const pointerStyle = {
width: "80px",
height: "80px",
backgroundImage:'url("背景图片")',
backgroundSize: "contain",
backgroundRepeat: "no-repeat",
};
// 转盘上要展示的奖品数据
const prizeList = ref([
{
id: "xiaomi",
prizeName: "小米手机",
prizeImg: "小米手机图片.jpg",
},
{
id: "huawei",
prizeColor: "rgb(251, 219, 216)",
prizeName: "华为手机",
prizeImg: "华为手机图片.jpg",
},
{
id: "apple",
prizeName: "apple watch",
prizeImg: "apple watch.jpg",
},
{
id: "shubiao",
prizeColor: "rgba(246, 142, 46, 0.5)",
prizeName: "鼠标",
prizeImg: "鼠标.jpg",
},
{
id: "jianpan",
prizeName: "键盘.jpg",
prizeImg:
"",
},
{
id: "thanks",
prizeName: "谢谢参与",
prizeImg: "谢谢参与.jpg",
},
]);
// 转动圈数
const turnsNumber = ref(5);
// 转动需要持续的时间(秒)
const turnsTime = ref(5);
// 转盘样式的选项
const styleOpt = reactive({
// 转盘中每一块扇形的背景色,根据奖品的index来取每一块的对应颜色
prizeBgColors: [
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
"rgb(255, 231, 149)",
"rgb(255, 247, 223)",
],
// 每一个扇形的外边框颜色
borderColor: "#ff9800",
});
// 中奖的奖品的index(此数据可根据后台返回的值重新赋值)
const prizeIndex = ref(-1);
// 剩余抽奖次数
const num = ref(5);
const startTurns = () => {
const index = Math.floor(Math.random() * prizeList.value.length);
prizeIndex.value = index;
turntable.value.rotateTurn();
};
const endTurns = () => {
console.log("中奖了");
};
return {
turntable,
luckWidth,
luckheight,
pointerStyle,
prizeList,
turnsNumber,
turnsTime,
styleOpt,
prizeIndex,
num,
startTurns,
endTurns,
};
},
};
</script>
以上是编程学习网小编为您介绍的“vue年会大转盘抽奖活动代码”的全面内容,想了解更多关于 vuejs 内容,请继续关注编程基础学习网。
沃梦达教程
本文标题为:vue年会大转盘抽奖活动代码
猜你喜欢
- 微信小程序自定义用户登录弹窗 2023-12-25
- react-redux的connect与React.forwardRef结合ref失效的解决 2023-07-09
- ajax实现远程通信 2023-01-20
- 九种js弹出对话框的方法总结 2024-03-09
- 基于iframe实现ajax跨域请求 获取网页中ajax数据 2022-12-15
- 关于 ios:Sencha – 禁用 Sencha 事件 2022-09-15
- clear 万能清除浮动(clearfix:after) 2024-02-07
- 页面只能打开一次Cooike如何实现 2024-02-12
- JS 设置Cookie 有效期 检测cookie 2024-02-13
- 使用CSS3中的calc()属性来以算式表达尺寸数值 2023-12-15