iter(g276): 新增迷你趋势线组件

This commit is contained in:
HIsheR
2026-10-26 23:02:15 +08:00
parent 573d3aa8a9
commit eac7d4b337
12 changed files with 215 additions and 10 deletions
+29 -1
View File
@@ -1,6 +1,6 @@
# @ui-arch 组件库 Agent 文档(无图形版)
> 自动生成于 2026-10-26T15:00:29.937Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 自动生成于 2026-10-26T15:02:00.489Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
## 快速上手
@@ -2367,6 +2367,33 @@ relativeTime({ value: row.createdAt, ariaLabel: '下单时间' })
现场演示:apps/docs/demo.html#sec-reltime
### sparkline — 迷你趋势线 Sparkline
参数:
- values:number[] —— 数值序列(按时间顺序);非有限数会被剔除
- width:number —— 宽度(px);缺省 120
- height:number —— 高度(px);缺省 32
- area:boolean —— 是否填充折线下方面积;缺省 true
- marker:boolean —— 是否标记末点;缺省 true(一眼看出当前值位置)
- ariaLabel:string —— 可访问名;缺省「趋势图」
示例:
```
sparkline({ values: last7Days, width: 140, height: 36 })
```
手把手:
1. 把按时间顺序的数值数组交给 values:不用自己算最大最小与像素坐标,组件按 viewBox 等比缩放
2. 和 statistic 并排用:主数值走 statistic、走向走 sparkline,趋势线不画坐标轴也不带交互
3. 不要面积就传 area: false,不要末点圆点传 marker: false(极窄的表格单元格里圆点会糊成一团)
4. 改颜色在父级设 color:线、面积、圆点都读 currentColor,放进 card 或表格行自动跟随文字色
5. 少于两个点时画不出趋势,组件返回空图——请在外面判空并给「暂无数据」,别让它空着占位
现场演示:apps/docs/demo.html#sec-spark
API 速览:
- button(props):按钮,variant 三档视觉强度,disabled / loading 支持布尔或信号动态同步(loading 转圈并禁点),onClick 点击回调
@@ -2454,6 +2481,7 @@ API 速览:
- signaturePad(props):手写签名板,指针绘制 + DPR 位图,返回 handle(el / clear / toDataURL / isEmpty)
- loading(props, ...children):区域加载遮罩,内容原地降透明度 + 转圈文案,带延迟出场避免快请求闪烁
- relativeTime(props):把时间戳渲染成「3 分钟前」并自动刷新,超阈值改显示绝对日期,title 恒给精确值
- sparkline(props):迷你趋势线,把数值序列压成折线(可填充 + 末点标记),无坐标轴无交互
一行用法: