跳至主要內容

进度条播放器

叶敏轩大约 177 分钟

基础示例

基础进度条播放,根据设定时间平滑改变进度条宽度实现进度播放

显示进度百分比

有时我们想要将当前百分比显示在进度条上,可以通过progressTextPosition属性设置:

颜色分割

根据数据中的单个字段(数值)设定区间分割进度条的颜色,支持分别以两种颜色绘制填充色和背景预览色

分割颜色 & 实时提示框 beta

分割颜色与实时提示框,在进度条上添加一个提示框,

由于提示框内容数据改变时,会导致提示框宽度发生变化 => 提示框的定位会偏移,目前不太完善,后续优化。

高性能模式

由于分割颜色进度条在改变进度时会导致浏览器重绘,故增加了高性能模式的方法,但这种方式 牺牲 了背景预览色可以自定义的功能,使用 遮罩 替代了 背景预览色

API

Props

属性名必填说明类型默认值
data数据any[][]
duration动画移动到下个点的过渡时间number1000
performance开启高性能模式booleanfalse
has-real-time-tip-box是否显示实时提示框booleanfalse
progress-bac-color未开启颜色分割时进度条背景色string"#ccc"
progress-fill-color未开启颜色分割时进度条填充色string"#409eff"
is-split是否开启颜色分割进度条booleanfalse
split-config分割配置,见下表SplitConfig——
split-fields-interval分割字段区间范围eg: "[0,10)" => 10 < a >= 0string""
progressTextPosition进度百分比文字nullProgressTextPosition

Events

事件名描述说明类型
handle-play动画播放时根据设置的过渡时间定时返回当前点的索引和数据Function
skip-progress返回鼠标点击进度条时当前点的索引和数据Function

Slots

插槽名说明插槽道具
controlBtn控制按钮(播放、暂停、重播)play:播放按钮显示状态, pause:暂停按钮显示状态refresh:重播按钮显示状态
currentTip实时提示框内容——

Exposes

方法名描述类型
initProgressBar初始化进度条Function
play播放Function
pause暂停Function
refresh重播Function

Methods

方法名描述类型
splitFunMethods按照设定颜色计算切割区间结果Function: (data: any,interval: string,field: string,inRangeColor: string,outRangeColor: string) => void

Types

SplitConfig

属性名说明类型默认值
splitFields用于分割颜色的属性string——
inRangeColor处于设置区间内的进度条填充颜色string"blue"
outRangeColor不在设置区间内的进度条填充颜色string"red"
outRangeBacColor不在设置区间内的进度条背景颜色string"rgba(255,0,0,0.3)"
inRangeBacColor处于设置区间内的进度条背景颜色string"rgba(0,0,255,0.3)"

ProgressTextPosition

属性名说明类型
null不显示进度百分比文字string
follow跟随在当前进度左侧string
inside-left固定在进度条内部的最左侧string
inside-right固定在进度条内部的最右侧string
outside-right固定在进度条外部的右侧string
上次编辑于:
贡献者: 叶敏轩