跳转到内容

进度条 progress

反馈与浮层组件。三层同源:无头内核给出解剖与状态机,Vue 组件与自定义元素只是它的两层外壳,行为完全一致。

示例

基础用法

value 与 max 共同决定百分比

配文字说明

进度条自身只画轨道与进度,百分比文字由使用者摆

上传中64%

自定义量程

max 不是 100 时按 value/max 折算,用于「已完成 3/8 步」这类场景

语气

tone 决定进度段用哪族颜色,不写时沿用品牌色

brand
neutral
success
warning
danger
info

尺寸

size 只改轨道厚度,不写即缺省中档

sm
缺省
lg

自定义外观

轨道色、进度段色与轨道厚度各是一个组件令牌,纯色与渐变都塞得进去

产物

自定义元素<xh-progress>
Vue 组件XhProgress
状态机无,connect 直接由 props 算属性
皮肤@xihan-ui/styles/progress.css

解剖

部件名即 data-part 属性值,也是皮肤的选择器。加粗的是必备部件,不渲染它组件不工作(Web Components 适配器会在诊断通道上报 wc.missing-part)。

data-scope="progress"root · track · range

Props

属性类型必填说明
maxnumber满值上限,默认 100。
sizeSize尺寸:sm / md / lg,决定轨道厚度
toneTone语气:brand / neutral / success / warning / danger / info,决定用哪族颜色
valuenumber当前进度值,越界会被夹到 [0, max]。

connect API

connect 产出的对象。getXxxProps() 铺到对应部件的宿主元素上,其余是可读状态与操作入口。

成员类型说明
getRootProps() => T['element']
getTrackProps() => T['element']
getRangeProps() => T['element']

键盘

规格出处:W3C APG

无键盘交互(不接收焦点,或焦点行为完全由原生元素提供)。

Released under The MIT License