iter(g271): 新增手写签名板组件
This commit is contained in:
+30
-1
@@ -1,6 +1,6 @@
|
||||
# @ui-arch 组件库 Agent 文档(无图形版)
|
||||
|
||||
> 自动生成于 2026-10-26T14:54:40.928Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 自动生成于 2026-10-26T14:56:09.624Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
|
||||
|
||||
## 快速上手
|
||||
@@ -2287,6 +2287,34 @@ codeBlock({ code: source, title: 'main.ts', lang: 'ts', maxHeight: 320 })
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-code
|
||||
|
||||
### signaturePad — 手写签名 SignaturePad
|
||||
|
||||
参数:
|
||||
|
||||
- value:Signal<string> —— 签字结果 dataURL 信号,双向绑定;清空写空串
|
||||
- height:number —— 画布高度(px);缺省 160
|
||||
- penWidth:number —— 笔宽(px);缺省 2
|
||||
- hint:string —— 底部提示文案;缺省「在上方区域手写签名」
|
||||
- disabled:boolean | Signal<boolean> —— 禁用态:布尔或信号,禁用时不响应手写
|
||||
- ariaLabel:string —— 画布可访问名;缺省「手写签名区」
|
||||
- onChange:(dataUrl: string) => void —— 收笔 / 清空时回调(清空回调空串)
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
const pad = signaturePad({ value: sign, height: 140 }); mount('#box', () => pad.el); pad.toDataURL(); pad.clear();
|
||||
```
|
||||
|
||||
手把手:
|
||||
|
||||
1. 把画布挂上去即可手写:宽度跟随容器、高度由 height 给(缺省 160),不用自己算 DP R
|
||||
2. 签字结果在收笔瞬间写回 value 信号(PNG dataURL);要提交表单就把它塞进字段值,清空会写回空串
|
||||
3. 底部「清空」按钮在未落笔或禁用时自动不可点,避免空操作;也能用返回的 handle.clear() 外部触发
|
||||
4. 需要判空用 handle.isEmpty(),取图用 handle.toDataURL();两者与信号同源,不会出现「有图但信号是空」
|
||||
5. 禁用传布尔或信号:布尔直接置位,信号随状态变灰并挡住手写;移动端画布已关掉浏览器手势,不会边签边滚页
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-sign
|
||||
|
||||
API 速览:
|
||||
|
||||
- button(props):按钮,variant 三档视觉强度,disabled / loading 支持布尔或信号动态同步(loading 转圈并禁点),onClick 点击回调
|
||||
@@ -2371,6 +2399,7 @@ API 速览:
|
||||
- jsonViewer(props):JSON 树查看,按层折叠、分支带计数摘要、叶子按类型着色,只读不编辑
|
||||
- diffView(props):文本差异对比,行级 LCS 对齐 + 增删着色 + 双行号列,顶部带 +N / −N 统计
|
||||
- codeBlock(props):代码块,等宽多行 + 行号列 + 标题行 + 一键复制原文,只展示不高亮
|
||||
- signaturePad(props):手写签名板,指针绘制 + DPR 位图,返回 handle(el / clear / toDataURL / isEmpty)
|
||||
|
||||
一行用法:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user