iter(g48): 新增 splitter 可拖拽分栏容器
This commit is contained in:
+28
-1
@@ -1,6 +1,6 @@
|
||||
# @ui-arch 组件库 Agent 文档(无图形版)
|
||||
|
||||
> 自动生成于 2026-10-26T04:10:00.644Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 自动生成于 2026-10-26T04:11:34.965Z,数据源:各包 ua.manifest.json,勿手改。人类版文档站:apps/docs/index.html。
|
||||
> 组件 = 普通函数,传 props 返回 DOM;状态用 signal 双向绑定:读 signal() 写 signal(v)。
|
||||
|
||||
## 快速上手
|
||||
@@ -1229,6 +1229,32 @@ cascader({ value: areaPath, changeOnSelect: true, options: [{ value: 'east', lab
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-cascader
|
||||
|
||||
### splitter — 可拖拽分栏 Splitter
|
||||
|
||||
参数:
|
||||
|
||||
- panes(必填):unknown[] —— 各栏内容(节点或纯文本),顺序即排列顺序
|
||||
- direction:'horizontal' | 'vertical' —— 分割方向;缺省 horizontal(左右)
|
||||
- sizes:Signal<number[]> —— 各栏百分比数组(和为 100);不传则内部均分
|
||||
- min:number —— 每栏最小百分比;缺省 10,拖到边界即停
|
||||
- onChange:(sizes: number[]) => void —— 拖拽 / 键盘调整后回调(传副本)
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
splitter({ sizes: ratio, min: 15, panes: [leftPanel, rightPanel], onChange: (s) => ratio([...s]) })
|
||||
```
|
||||
|
||||
手把手:
|
||||
|
||||
1. panes 长度决定栏数与分隔条数(n 栏对应 n-1 条),栏宽由 sizes 百分比驱动
|
||||
2. 指针按住分隔条拖动即可改比例,拖动过程两栏之和恒定、各自不低于 min
|
||||
3. 分隔条可 Tab 聚焦,← → / ↑ ↓ 每次调 2%,按住 Shift 调 10%;双击复位为均分
|
||||
4. direction 传 vertical 变为上下分栏,键盘方向键与光标同步切换
|
||||
5. 传入 sizes 信号即受控,外部写入可做「预设布局」切换(如 1:1 / 2:1)
|
||||
|
||||
现场演示:apps/docs/demo.html#sec-splitter
|
||||
|
||||
API 速览:
|
||||
|
||||
- button(props):按钮,variant = primary | ghost | danger,disabled 支持布尔或信号禁用;type 缺省 button(表单内不隐式提交)
|
||||
@@ -1279,6 +1305,7 @@ API 速览:
|
||||
- result(props):结果页,status 四档语义色 + 标题 + 说明 + 操作区,用于提交完成/校验失败等终态
|
||||
- transfer(props):穿梭框,左右两栏勾选后整体搬运,targetKeys 信号双向绑定,两栏各自搜索与全选(含半选),禁用条目不参与搬运也不可勾选
|
||||
- cascader(props):级联选择,多列联动面板(悬停下钻 / 点击提交),value 为路径数组信号,changeOnSelect 允许停在中间层,全键盘可操作
|
||||
- splitter(props):可拖拽分栏容器,分隔条支持指针拖拽 / 方向键微调 / 双击复位,sizes 为百分比数组信号
|
||||
|
||||
一行用法:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user