iter(g275): 新增相对时间组件

This commit is contained in:
HIsheR
2026-10-26 23:00:45 +08:00
parent fa84a392fb
commit b454d5f7b0
12 changed files with 208 additions and 10 deletions
+42 -1
View File
@@ -96,7 +96,8 @@
"diffView(props):文本差异对比,行级 LCS 对齐 + 增删着色 + 双行号列,顶部带 +N / −N 统计",
"codeBlock(props):代码块,等宽多行 + 行号列 + 标题行 + 一键复制原文,只展示不高亮",
"signaturePad(props):手写签名板,指针绘制 + DPR 位图,返回 handle(el / clear / toDataURL / isEmpty)",
"loading(props, ...children):区域加载遮罩,内容原地降透明度 + 转圈文案,带延迟出场避免快请求闪烁"
"loading(props, ...children):区域加载遮罩,内容原地降透明度 + 转圈文案,带延迟出场避免快请求闪烁",
"relativeTime(props):把时间戳渲染成「3 分钟前」并自动刷新,超阈值改显示绝对日期,title 恒给精确值"
],
"keyTypes": [
"ButtonProps",
@@ -4259,6 +4260,46 @@
"遮罩文案写明在等什么(「正在刷新订单」),读屏同一句也会播报;只要转圈就省略 text",
"内容可能为空时给 minHeight,否则高度塌成 0 遮罩无处可盖"
]
},
{
"id": "relativeTime",
"title": "相对时间 RelativeTime",
"demo": "sec-reltime",
"props": [
{
"n": "value",
"t": "string | number | Date",
"d": "目标时间:ISO 串 / 时间戳(10 位按秒、13 位按毫秒)/ Date"
},
{
"n": "refresh",
"t": "number",
"d": "自动刷新间隔(ms);缺省 30000,传 0 不刷新"
},
{
"n": "threshold",
"t": "number",
"d": "超过该秒数改用绝对日期;缺省 7 天"
},
{
"n": "fallback",
"t": "string",
"d": "时间非法时的占位文案;缺省「—」"
},
{
"n": "ariaLabel",
"t": "string",
"d": "可访问名(如「下单时间」),让读屏知道这个时间是什么"
}
],
"example": "relativeTime({ value: row.createdAt, ariaLabel: '下单时间' })",
"steps": [
"把后端给的时间原样交进来:ISO 串、10 位秒级戳、13 位毫秒戳、Date 都认,不用自己 new Date",
"默认每 30 秒刷新一次文案(「3 分钟前」会在不刷新页面的情况下变「4 分钟前」);列表里条数极多时可把 refresh 调大或传 0",
"超过 7 天自动改显示绝对日期(YYYY-MM-DD HH:mm),想更早切换就调小 threshold",
"精确时间放在 title:鼠标悬停可看,不必为「想知道具体哪天」再点开详情",
"时间非法(空串 / 格式错)不猜也不抛,显示 fallback(缺省「—」),列表不会因一条脏数据空白"
]
}
]
}