Barrage 弹幕


弹幕组件

使用指南

在 Taro 文件中引入组件

import { ZoBarrage } from '@lylb/tzo-ui';

一般用法

import Taro from '@tarojs/taro';
import { ZoBarrage } from '@lylb/tzo-ui';
export default class Index extends Taro.Component {
constructor() {
super(...arguments);
this.state = {
keepRun: true,
list: [
{
txt: '我我我领取了法拉利5元优惠券',
img: 'https://icebreaker.top/_ice/img/avatar.166c088.jpg',
color: 'red',
},
{
txt: 'xx刚刚领取了兰博基尼5元优惠券',
},
{
txt: 'xx刚刚领取了兰博基尼5元优惠券',
},
{
txt: 'xx刚刚领取了兰博基尼5元优惠券',
},
{
txt: 'xx刚刚领取了兰博基尼5元优惠券',
color: 'red',
},
],
item: null,
};
}
handleClick = () => {
this.setState({
item: {
txt: '我是新添加的数据',
color: '#000000',
},
});
};
changeStatus = () => {
const { keepRun } = this.state;
this.setState({
keepRun: !keepRun,
});
};
render() {
const { list, item, keepRun } = this.state;
return (
<View>
<ZoBarrage list={list} item={item} keepRun={keepRun} />
<View onClick={this.handleClick}>添加弹幕</View>
<View onClick={this.changeStatus}>停止/运行弹幕</View>
</View>
);
}
}

参数

参数说明类型可选值默认值
options弹幕参数IOptions--
list弹幕数据源IItem[]必填-
item后续添加的单个弹幕数据IItem-null
keepRun弹幕运行状态boolean-true

IOptions

参数说明类型可选值默认值
mode弹幕项出场模式。once:只出场一次 loop:循环参与滚动'once' 'loop''once' 'loop''loop'
canvasHeight画布高度。默认 150pxnumber-150
canvasWidth后续添加的单个弹幕数据number-屏幕宽度
height弹幕项高度。默认 22pxnumber-22
imgWidth头像尺寸. 默认 15pxnumber-15
maxRow最大行数。默认 3number-3
minGap每行弹幕项最小间隔。默认 30number-30
maxGap每行弹幕项最大间隔,会影响出场排列。默认 canvasWidthnumber-canvasWidth
rowGap行间距. 默认 20number-20
imgTextGap头像文字间距。默认 6number-6
dprdevice pixel ratio. 默认自动获取number-自动获取
offsetTop第一行弹幕距离顶部位置. 默认同 heightnumber-height
minSpeed最小滚动速度。 默认 1number-1
maxSpeed最大滚动速度。默认 40number-40
canvasIdcanvas 画布 idstring-barrage

IItem

参数说明类型可选值默认值
img头像图片地址string--
txt弹幕文案string--
font弹幕字体样式stirng-'12px arial'
color弹幕文字颜色。默认 whitestring-white
bgColor弹幕的底色。默认 rgba(0,0,0,0.4). 传递 null 表示不绘制底色string-rgba(0,0,0,0.4)
TZo UI10:24