@next-bricks/advanced 0.51.3 → 0.51.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +22 -22
- package/dist/chunks/{1889.b0931dce.js → 1889.f8507811.js} +2 -2
- package/dist/chunks/{1889.b0931dce.js.map → 1889.f8507811.js.map} +1 -1
- package/dist/chunks/3171.5a42835a.js +2 -0
- package/dist/chunks/3171.5a42835a.js.map +1 -0
- package/dist/chunks/4758.0ee6b1c2.js +3 -0
- package/dist/chunks/4758.0ee6b1c2.js.map +1 -0
- package/dist/chunks/5399.90afc78f.js +2 -0
- package/dist/chunks/5399.90afc78f.js.map +1 -0
- package/dist/chunks/5552.3af82478.js +2 -0
- package/dist/chunks/5552.3af82478.js.map +1 -0
- package/dist/chunks/6376.a5e3cba3.js +2 -0
- package/dist/chunks/6376.a5e3cba3.js.map +1 -0
- package/dist/chunks/{6070.74d93326.js → 7039.0ea489d5.js} +2 -2
- package/dist/chunks/7039.0ea489d5.js.map +1 -0
- package/dist/chunks/8382.ade8275e.js +2 -0
- package/dist/chunks/8382.ade8275e.js.map +1 -0
- package/dist/chunks/9118.f65d12a9.js +3 -0
- package/dist/chunks/9118.f65d12a9.js.map +1 -0
- package/dist/chunks/948.c45999d0.js +3 -0
- package/dist/chunks/948.c45999d0.js.map +1 -0
- package/dist/chunks/eo-cascader.8d423eaa.js +2 -0
- package/dist/chunks/eo-cascader.8d423eaa.js.map +1 -0
- package/dist/chunks/{eo-next-table.25f4bf4d.js → eo-next-table.7f8c557a.js} +2 -2
- package/dist/chunks/{eo-next-table.25f4bf4d.js.map → eo-next-table.7f8c557a.js.map} +1 -1
- package/dist/chunks/{eo-table.5dd09651.js → eo-table.9b4334a3.js} +2 -2
- package/dist/chunks/eo-table.9b4334a3.js.map +1 -0
- package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
- package/dist/chunks/eo-tree-select.49c195a4.js +2 -0
- package/dist/chunks/eo-tree-select.49c195a4.js.map +1 -0
- package/dist/chunks/{eo-tree.22180778.js → eo-tree.e8729dea.js} +3 -3
- package/dist/chunks/{eo-tree.22180778.js.map → eo-tree.e8729dea.js.map} +1 -1
- package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js → eo-workbench-layout-v2.12b31a22.js} +3 -3
- package/dist/chunks/eo-workbench-layout-v2.12b31a22.js.map +1 -0
- package/dist/chunks/{eo-workbench-layout.1ed8ce80.js → eo-workbench-layout.39666f6e.js} +2 -2
- package/dist/chunks/eo-workbench-layout.39666f6e.js.map +1 -0
- package/dist/chunks/main.06ea33e1.js +2 -0
- package/dist/chunks/main.06ea33e1.js.map +1 -0
- package/dist/chunks/pdf-viewer.036787d7.js.map +1 -1
- package/dist/examples.json +17 -11
- package/dist/index.61a04a59.js +2 -0
- package/dist/index.61a04a59.js.map +1 -0
- package/dist/manifest.json +656 -563
- package/dist/types.json +244 -247
- package/dist-types/cascader/index.d.ts +18 -0
- package/dist-types/interfaces/workbench.d.ts +2 -2
- package/dist-types/next-table/CacheUseBrickItem.d.ts +2 -2
- package/dist-types/next-table/index.d.ts +2 -1
- package/dist-types/next-table/interface.d.ts +5 -5
- package/dist-types/pdf-viewer/index.d.ts +7 -1
- package/dist-types/table/BrickTable.d.ts +2 -2
- package/dist-types/table/index.d.ts +8 -6
- package/dist-types/text-tooltip/index.d.ts +5 -4
- package/dist-types/tree/index.d.ts +3 -3
- package/dist-types/tree-select/index.d.ts +41 -1
- package/dist-types/workbench-layout/index.d.ts +28 -3
- package/dist-types/workbench-layout-v2/index.d.ts +34 -12
- package/docs/eo-cascader.md +184 -1
- package/docs/eo-cascader.react.md +247 -0
- package/docs/eo-next-table.md +343 -168
- package/docs/eo-next-table.react.md +923 -0
- package/docs/eo-table.md +296 -0
- package/docs/eo-table.react.md +223 -0
- package/docs/eo-text-tooltip.md +46 -1
- package/docs/eo-text-tooltip.react.md +69 -0
- package/docs/eo-tree-select.md +127 -1
- package/docs/eo-tree-select.react.md +206 -0
- package/docs/eo-tree.md +108 -2
- package/docs/eo-tree.react.md +220 -0
- package/docs/eo-workbench-layout-v2.md +204 -0
- package/docs/eo-workbench-layout-v2.react.md +162 -0
- package/docs/eo-workbench-layout.md +45 -3
- package/docs/eo-workbench-layout.react.md +141 -0
- package/docs/pdf-viewer.md +48 -1
- package/docs/pdf-viewer.react.md +63 -0
- package/package.json +2 -2
- package/dist/chunks/3171.a0713c82.js +0 -2
- package/dist/chunks/3171.a0713c82.js.map +0 -1
- package/dist/chunks/4758.5f79e636.js +0 -3
- package/dist/chunks/4758.5f79e636.js.map +0 -1
- package/dist/chunks/4837.04c758cf.js +0 -2
- package/dist/chunks/4837.04c758cf.js.map +0 -1
- package/dist/chunks/5139.30dacc51.js +0 -2
- package/dist/chunks/5139.30dacc51.js.map +0 -1
- package/dist/chunks/5399.c6d3cd26.js +0 -2
- package/dist/chunks/5399.c6d3cd26.js.map +0 -1
- package/dist/chunks/5552.b8201181.js +0 -2
- package/dist/chunks/5552.b8201181.js.map +0 -1
- package/dist/chunks/6070.74d93326.js.map +0 -1
- package/dist/chunks/7218.bcb25b61.js +0 -2
- package/dist/chunks/7218.bcb25b61.js.map +0 -1
- package/dist/chunks/8382.d552299f.js +0 -2
- package/dist/chunks/8382.d552299f.js.map +0 -1
- package/dist/chunks/9118.cc8511ac.js +0 -3
- package/dist/chunks/9118.cc8511ac.js.map +0 -1
- package/dist/chunks/948.e02bc040.js +0 -3
- package/dist/chunks/948.e02bc040.js.map +0 -1
- package/dist/chunks/eo-cascader.86a685ca.js +0 -2
- package/dist/chunks/eo-cascader.86a685ca.js.map +0 -1
- package/dist/chunks/eo-table.5dd09651.js.map +0 -1
- package/dist/chunks/eo-tree-select.31dae71f.js +0 -2
- package/dist/chunks/eo-tree-select.31dae71f.js.map +0 -1
- package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +0 -1
- package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +0 -1
- package/dist/chunks/main.f43a8ad8.js +0 -2
- package/dist/chunks/main.f43a8ad8.js.map +0 -1
- package/dist/index.3d8026b9.js +0 -2
- package/dist/index.3d8026b9.js.map +0 -1
- /package/dist/chunks/{4758.5f79e636.js.LICENSE.txt → 4758.0ee6b1c2.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9118.cc8511ac.js.LICENSE.txt → 9118.f65d12a9.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{948.e02bc040.js.LICENSE.txt → 948.c45999d0.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-tree.22180778.js.LICENSE.txt → eo-tree.e8729dea.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{eo-workbench-layout-v2.24da89e7.js.LICENSE.txt → eo-workbench-layout-v2.12b31a22.js.LICENSE.txt} +0 -0
package/docs/eo-tree-select.md
CHANGED
|
@@ -1,9 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-tree-select
|
|
3
|
+
displayName: WrappedEoTreeSelect
|
|
4
|
+
description: 树选择器,支持从树形数据中单选或多选节点
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/advanced"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# eo-tree-select
|
|
10
|
+
|
|
11
|
+
> 树选择器,支持从树形数据中单选或多选节点
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| --------------------- | --------------------------------------- | ---- | -------------- | ------------------------------------------------------------- |
|
|
17
|
+
| name | `string` | 否 | - | 表单字段名 |
|
|
18
|
+
| label | `string` | 否 | - | 表单字段标签 |
|
|
19
|
+
| required | `boolean` | 否 | - | 是否为必填项 |
|
|
20
|
+
| treeData | `AntdTreeSelectProps["treeData"]` | 否 | - | 树形数据源 |
|
|
21
|
+
| treeDefaultExpandAll | `boolean` | 否 | - | 是否默认展开所有树节点 |
|
|
22
|
+
| treeExpandedKeys | `string[]` | 否 | - | 受控展开的树节点 key 集合 |
|
|
23
|
+
| fieldNames | `AntdTreeSelectProps["fieldNames"]` | 否 | - | 自定义字段名,指定 label、value、children 对应的字段 |
|
|
24
|
+
| value | `AntdTreeSelectProps["value"]` | 否 | - | 当前选中的值 |
|
|
25
|
+
| placeholder | `string` | 否 | - | 输入框占位文本 |
|
|
26
|
+
| multiple | `boolean` | 否 | - | 是否支持多选 |
|
|
27
|
+
| disabled | `boolean` | 否 | - | 是否禁用 |
|
|
28
|
+
| checkable | `boolean` | 否 | - | 是否支持勾选树节点(开启后自动开启 multiple 模式) |
|
|
29
|
+
| allowClear | `boolean` | 否 | `true` | 是否支持清除 |
|
|
30
|
+
| loading | `boolean` | 否 | `false` | 是否显示加载中状态 |
|
|
31
|
+
| filterTreeNode | `AntdTreeSelectProps["filterTreeNode"]` | 否 | - | 自定义树节点过滤函数 |
|
|
32
|
+
| showSearch | `boolean` | 否 | `true` | 是否支持搜索,开启后可通过输入关键字过滤树节点 |
|
|
33
|
+
| suffixIcon | `GeneralIconProps` | 否 | - | 自定义下拉箭头图标 |
|
|
34
|
+
| popupPlacement | `AntdTreeSelectProps["placement"]` | 否 | `"bottomLeft"` | 浮层预设位置,可选 bottomLeft、bottomRight、topLeft、topRight |
|
|
35
|
+
| size | `AntdTreeSelectProps["size"]` | 否 | - | 输入框大小,可选 large、middle、small |
|
|
36
|
+
| maxTagCount | `number \| "responsive"` | 否 | - | 多选模式下最多显示的 tag 数量,设为 responsive 时会自适应宽度 |
|
|
37
|
+
| dropdownStyle | `CSSProperties` | 否 | - | 下拉框的样式 |
|
|
38
|
+
| popupMatchSelectWidth | `boolean` | 否 | `true` | 下拉菜单的宽度是否与选择框相同 |
|
|
39
|
+
|
|
40
|
+
## Events
|
|
41
|
+
|
|
42
|
+
| 事件 | detail | 说明 |
|
|
43
|
+
| ------ | ------------------------------------------------------------------- | --------------------- |
|
|
44
|
+
| change | `{ value: AntdTreeSelectProps["value"] }` — { value: 选择的值 } | 选中值变化时触发 |
|
|
45
|
+
| search | `string` — 搜索关键词 | 搜索框值变化时触发 |
|
|
46
|
+
| select | `{ value: AntdTreeSelectProps["value"] }` — { value: 选中的节点值 } | 选中某一树节点时触发 |
|
|
47
|
+
| expand | `{ keys: React.Key[] }` — { keys: 展开的节点 key 数组 } | 树节点展开/收缩时触发 |
|
|
2
48
|
|
|
3
49
|
## Examples
|
|
4
50
|
|
|
5
51
|
### Basic
|
|
6
52
|
|
|
53
|
+
展示树选择器的基本用法,通过 treeData 提供树形数据源。
|
|
54
|
+
|
|
7
55
|
```yaml preview minHeight="500px"
|
|
8
56
|
- brick: eo-tree-select
|
|
9
57
|
properties:
|
|
@@ -32,6 +80,8 @@
|
|
|
32
80
|
|
|
33
81
|
### With Form
|
|
34
82
|
|
|
83
|
+
在表单中使用树选择器,配置 name、label 和 required 实现表单集成与校验。
|
|
84
|
+
|
|
35
85
|
```yaml preview minHeight="500px"
|
|
36
86
|
- brick: eo-form
|
|
37
87
|
events:
|
|
@@ -84,3 +134,79 @@
|
|
|
84
134
|
- action: console.log
|
|
85
135
|
- brick: eo-submit-buttons
|
|
86
136
|
```
|
|
137
|
+
|
|
138
|
+
### Multiple Selection with Max Tag Count
|
|
139
|
+
|
|
140
|
+
开启多选模式并设置 maxTagCount 限制显示的 tag 数量。
|
|
141
|
+
|
|
142
|
+
```yaml preview minHeight="400px"
|
|
143
|
+
- brick: eo-tree-select
|
|
144
|
+
properties:
|
|
145
|
+
multiple: true
|
|
146
|
+
maxTagCount: 2
|
|
147
|
+
treeDefaultExpandAll: true
|
|
148
|
+
placeholder: 可多选,最多显示2个标签
|
|
149
|
+
treeData:
|
|
150
|
+
- title: Node1
|
|
151
|
+
value: "0-0"
|
|
152
|
+
key: "0-0"
|
|
153
|
+
children:
|
|
154
|
+
- title: Node1-1
|
|
155
|
+
value: "0-0-1"
|
|
156
|
+
key: "0-0-1"
|
|
157
|
+
- title: Node1-2
|
|
158
|
+
value: "0-0-2"
|
|
159
|
+
key: "0-0-2"
|
|
160
|
+
- title: Node2
|
|
161
|
+
value: "0-1"
|
|
162
|
+
key: "0-1"
|
|
163
|
+
children:
|
|
164
|
+
- title: Node2-1
|
|
165
|
+
value: "0-1-1"
|
|
166
|
+
key: "0-1-1"
|
|
167
|
+
- title: Node2-2
|
|
168
|
+
value: "0-1-2"
|
|
169
|
+
key: "0-1-2"
|
|
170
|
+
events:
|
|
171
|
+
change:
|
|
172
|
+
- action: console.log
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Custom Field Names and Disabled
|
|
176
|
+
|
|
177
|
+
使用 fieldNames 自定义数据源字段,并展示禁用状态。
|
|
178
|
+
|
|
179
|
+
```yaml preview minHeight="400px"
|
|
180
|
+
- brick: div
|
|
181
|
+
properties:
|
|
182
|
+
style:
|
|
183
|
+
display: flex
|
|
184
|
+
flexDirection: column
|
|
185
|
+
gap: 16px
|
|
186
|
+
children:
|
|
187
|
+
- brick: eo-tree-select
|
|
188
|
+
properties:
|
|
189
|
+
fieldNames:
|
|
190
|
+
label: name
|
|
191
|
+
value: id
|
|
192
|
+
children: sub
|
|
193
|
+
treeDefaultExpandAll: true
|
|
194
|
+
placeholder: 自定义字段名
|
|
195
|
+
treeData:
|
|
196
|
+
- name: 技术
|
|
197
|
+
id: tech
|
|
198
|
+
sub:
|
|
199
|
+
- name: 前端
|
|
200
|
+
id: frontend
|
|
201
|
+
- name: 后端
|
|
202
|
+
id: backend
|
|
203
|
+
- brick: eo-tree-select
|
|
204
|
+
properties:
|
|
205
|
+
disabled: true
|
|
206
|
+
value: "0-0"
|
|
207
|
+
placeholder: 禁用状态
|
|
208
|
+
treeData:
|
|
209
|
+
- title: Node1
|
|
210
|
+
value: "0-0"
|
|
211
|
+
key: "0-0"
|
|
212
|
+
```
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-tree-select
|
|
3
|
+
displayName: WrappedEoTreeSelect
|
|
4
|
+
description: 树选择器,支持从树形数据中单选或多选节点
|
|
5
|
+
category: form-input-basic
|
|
6
|
+
source: "@next-bricks/advanced"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# WrappedEoTreeSelect
|
|
10
|
+
|
|
11
|
+
> 树选择器,支持从树形数据中单选或多选节点
|
|
12
|
+
|
|
13
|
+
## 导入
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
import { WrappedEoTreeSelect } from "@easyops/wrapped-components";
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Props
|
|
20
|
+
|
|
21
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
22
|
+
| --------------------- | --------------------------------------- | ---- | -------------- | ------------------------------------------------------------- |
|
|
23
|
+
| name | `string` | 否 | - | 表单字段名 |
|
|
24
|
+
| label | `string` | 否 | - | 表单字段标签 |
|
|
25
|
+
| required | `boolean` | 否 | - | 是否为必填项 |
|
|
26
|
+
| treeData | `AntdTreeSelectProps["treeData"]` | 否 | - | 树形数据源 |
|
|
27
|
+
| treeDefaultExpandAll | `boolean` | 否 | - | 是否默认展开所有树节点 |
|
|
28
|
+
| treeExpandedKeys | `string[]` | 否 | - | 受控展开的树节点 key 集合 |
|
|
29
|
+
| fieldNames | `AntdTreeSelectProps["fieldNames"]` | 否 | - | 自定义字段名,指定 label、value、children 对应的字段 |
|
|
30
|
+
| value | `AntdTreeSelectProps["value"]` | 否 | - | 当前选中的值 |
|
|
31
|
+
| placeholder | `string` | 否 | - | 输入框占位文本 |
|
|
32
|
+
| multiple | `boolean` | 否 | - | 是否支持多选 |
|
|
33
|
+
| disabled | `boolean` | 否 | - | 是否禁用 |
|
|
34
|
+
| checkable | `boolean` | 否 | - | 是否支持勾选树节点(开启后自动开启 multiple 模式) |
|
|
35
|
+
| allowClear | `boolean` | 否 | `true` | 是否支持清除 |
|
|
36
|
+
| loading | `boolean` | 否 | `false` | 是否显示加载中状态 |
|
|
37
|
+
| filterTreeNode | `AntdTreeSelectProps["filterTreeNode"]` | 否 | - | 自定义树节点过滤函数 |
|
|
38
|
+
| showSearch | `boolean` | 否 | `true` | 是否支持搜索,开启后可通过输入关键字过滤树节点 |
|
|
39
|
+
| suffixIcon | `GeneralIconProps` | 否 | - | 自定义下拉箭头图标 |
|
|
40
|
+
| popupPlacement | `AntdTreeSelectProps["placement"]` | 否 | `"bottomLeft"` | 浮层预设位置,可选 bottomLeft、bottomRight、topLeft、topRight |
|
|
41
|
+
| size | `AntdTreeSelectProps["size"]` | 否 | - | 输入框大小,可选 large、middle、small |
|
|
42
|
+
| maxTagCount | `number \| "responsive"` | 否 | - | 多选模式下最多显示的 tag 数量,设为 responsive 时会自适应宽度 |
|
|
43
|
+
| dropdownStyle | `CSSProperties` | 否 | - | 下拉框的样式 |
|
|
44
|
+
| popupMatchSelectWidth | `boolean` | 否 | `true` | 下拉菜单的宽度是否与选择框相同 |
|
|
45
|
+
|
|
46
|
+
## Events
|
|
47
|
+
|
|
48
|
+
| 事件 | detail | 说明 |
|
|
49
|
+
| -------- | ------------------------------------------------------------------- | --------------------- |
|
|
50
|
+
| onChange | `{ value: AntdTreeSelectProps["value"] }` — { value: 选择的值 } | 选中值变化时触发 |
|
|
51
|
+
| onSearch | `string` — 搜索关键词 | 搜索框值变化时触发 |
|
|
52
|
+
| onSelect | `{ value: AntdTreeSelectProps["value"] }` — { value: 选中的节点值 } | 选中某一树节点时触发 |
|
|
53
|
+
| onExpand | `{ keys: React.Key[] }` — { keys: 展开的节点 key 数组 } | 树节点展开/收缩时触发 |
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
### Basic
|
|
58
|
+
|
|
59
|
+
展示树选择器的基本用法,通过 treeData 提供树形数据源。
|
|
60
|
+
|
|
61
|
+
```tsx
|
|
62
|
+
<WrappedEoTreeSelect
|
|
63
|
+
treeData={[
|
|
64
|
+
{
|
|
65
|
+
title: "Node1",
|
|
66
|
+
value: 0,
|
|
67
|
+
key: 0,
|
|
68
|
+
children: [
|
|
69
|
+
{ title: "Node1-1", value: "0-1" },
|
|
70
|
+
{ title: "Node1-2", value: "0-2" },
|
|
71
|
+
{ title: "Node1-3", value: "0-3" },
|
|
72
|
+
],
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
title: "Node2",
|
|
76
|
+
value: 1,
|
|
77
|
+
key: 1,
|
|
78
|
+
children: [
|
|
79
|
+
{ title: "Node2-1", value: "1-1" },
|
|
80
|
+
{ title: "Node2-2", value: "1-2" },
|
|
81
|
+
{ title: "Node2-3", value: "1-3" },
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
]}
|
|
85
|
+
/>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### With Form
|
|
89
|
+
|
|
90
|
+
在表单中使用树选择器,配置 name、label 和 required 实现表单集成与校验。
|
|
91
|
+
|
|
92
|
+
```tsx
|
|
93
|
+
<WrappedEoForm
|
|
94
|
+
onValidateSuccess={(e) => console.log(e.detail)}
|
|
95
|
+
onValidateError={(e) => console.log(e.detail)}
|
|
96
|
+
>
|
|
97
|
+
<WrappedEoTreeSelect
|
|
98
|
+
label="tree"
|
|
99
|
+
name="tree"
|
|
100
|
+
required={true}
|
|
101
|
+
multiple={true}
|
|
102
|
+
checkable={true}
|
|
103
|
+
placeholder="请选择树节点"
|
|
104
|
+
treeData={[
|
|
105
|
+
{
|
|
106
|
+
title: "Node1",
|
|
107
|
+
value: "Node1",
|
|
108
|
+
key: "0-0",
|
|
109
|
+
children: [
|
|
110
|
+
{ title: "Child Node1-1", value: "Child Node1-1", key: "0-0-0" },
|
|
111
|
+
{ title: "Child Node1-2", value: "Child Node1-2", key: "0-0-1" },
|
|
112
|
+
],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
title: "Node2",
|
|
116
|
+
value: "0-1",
|
|
117
|
+
key: "0-1",
|
|
118
|
+
children: [
|
|
119
|
+
{ title: "Child Node2-1", value: "Child Node2-1", key: "0-1-0" },
|
|
120
|
+
{
|
|
121
|
+
title: "Child Node2-2",
|
|
122
|
+
value: "Child Node2-2",
|
|
123
|
+
key: "0-1-1",
|
|
124
|
+
children: [
|
|
125
|
+
{
|
|
126
|
+
title: "Child Node2-2-1",
|
|
127
|
+
value: "Child Node2-2-1",
|
|
128
|
+
key: "0-1-1-0",
|
|
129
|
+
},
|
|
130
|
+
],
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
]}
|
|
135
|
+
onChange={(e) => console.log(e.detail)}
|
|
136
|
+
onSelect={(e) => console.log(e.detail)}
|
|
137
|
+
onExpand={(e) => console.log(e.detail)}
|
|
138
|
+
onSearch={(e) => console.log(e.detail)}
|
|
139
|
+
/>
|
|
140
|
+
<WrappedEoSubmitButtons />
|
|
141
|
+
</WrappedEoForm>
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Multiple Selection with Max Tag Count
|
|
145
|
+
|
|
146
|
+
开启多选模式并设置 maxTagCount 限制显示的 tag 数量。
|
|
147
|
+
|
|
148
|
+
```tsx
|
|
149
|
+
<WrappedEoTreeSelect
|
|
150
|
+
multiple={true}
|
|
151
|
+
maxTagCount={2}
|
|
152
|
+
treeDefaultExpandAll={true}
|
|
153
|
+
placeholder="可多选,最多显示2个标签"
|
|
154
|
+
treeData={[
|
|
155
|
+
{
|
|
156
|
+
title: "Node1",
|
|
157
|
+
value: "0-0",
|
|
158
|
+
key: "0-0",
|
|
159
|
+
children: [
|
|
160
|
+
{ title: "Node1-1", value: "0-0-1", key: "0-0-1" },
|
|
161
|
+
{ title: "Node1-2", value: "0-0-2", key: "0-0-2" },
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
title: "Node2",
|
|
166
|
+
value: "0-1",
|
|
167
|
+
key: "0-1",
|
|
168
|
+
children: [
|
|
169
|
+
{ title: "Node2-1", value: "0-1-1", key: "0-1-1" },
|
|
170
|
+
{ title: "Node2-2", value: "0-1-2", key: "0-1-2" },
|
|
171
|
+
],
|
|
172
|
+
},
|
|
173
|
+
]}
|
|
174
|
+
onChange={(e) => console.log(e.detail)}
|
|
175
|
+
/>
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Custom Field Names and Disabled
|
|
179
|
+
|
|
180
|
+
使用 fieldNames 自定义数据源字段,并展示禁用状态。
|
|
181
|
+
|
|
182
|
+
```tsx
|
|
183
|
+
<div style={{ display: "flex", flexDirection: "column", gap: 16 }}>
|
|
184
|
+
<WrappedEoTreeSelect
|
|
185
|
+
fieldNames={{ label: "name", value: "id", children: "sub" }}
|
|
186
|
+
treeDefaultExpandAll={true}
|
|
187
|
+
placeholder="自定义字段名"
|
|
188
|
+
treeData={[
|
|
189
|
+
{
|
|
190
|
+
name: "技术",
|
|
191
|
+
id: "tech",
|
|
192
|
+
sub: [
|
|
193
|
+
{ name: "前端", id: "frontend" },
|
|
194
|
+
{ name: "后端", id: "backend" },
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
]}
|
|
198
|
+
/>
|
|
199
|
+
<WrappedEoTreeSelect
|
|
200
|
+
disabled={true}
|
|
201
|
+
value="0-0"
|
|
202
|
+
placeholder="禁用状态"
|
|
203
|
+
treeData={[{ title: "Node1", value: "0-0", key: "0-0" }]}
|
|
204
|
+
/>
|
|
205
|
+
</div>
|
|
206
|
+
```
|
package/docs/eo-tree.md
CHANGED
|
@@ -1,9 +1,46 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
tagName: eo-tree
|
|
3
|
+
displayName: WrappedEoTree
|
|
4
|
+
description: 树形构件
|
|
5
|
+
category: display
|
|
6
|
+
source: "@next-bricks/advanced"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# eo-tree
|
|
10
|
+
|
|
11
|
+
> 树形构件
|
|
12
|
+
|
|
13
|
+
## Props
|
|
14
|
+
|
|
15
|
+
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|
|
16
|
+
| ---------------- | ---------------------------------- | ---- | ------ | ------------------------------------------------------------------------------- |
|
|
17
|
+
| dataSource | `TreeNode[]` | 否 | - | 树形数据源 |
|
|
18
|
+
| checkable | `boolean` | 否 | - | 是否显示 Checkbox,开启后可勾选节点 |
|
|
19
|
+
| selectable | `boolean` | 否 | - | 是否可选中节点 |
|
|
20
|
+
| defaultExpandAll | `boolean` | 否 | - | 是否默认展开所有树节点 |
|
|
21
|
+
| showLine | `boolean` | 否 | - | 是否显示连接线 |
|
|
22
|
+
| expandedKeys | `TreeNodeKey[]` | 否 | - | 受控展开的节点 key 集合 |
|
|
23
|
+
| checkedKeys | `TreeNodeKey[]` | 否 | - | 受控勾选的节点 key 集合(仅在 checkable 为 true 时有效) |
|
|
24
|
+
| nodeDraggable | `boolean \| { icon?: false }` | 否 | - | 是否允许拖拽节点,也可传入对象配置是否显示拖拽图标 |
|
|
25
|
+
| switcherIcon | `"auto" \| "chevron" \| false` | 否 | - | 自定义展开/折叠图标,可选 auto(默认箭头)、chevron(下箭头)或 false(不显示) |
|
|
26
|
+
| allowDrop | `(info: AllowDropInfo) => boolean` | 否 | - | 是否允许拖放到指定位置的判断函数 |
|
|
27
|
+
| titleSuffixBrick | `{ useBrick: UseBrickConf }` | 否 | - | 节点标题后缀插槽,通过 useBrick 在每个节点标题后渲染自定义构件 |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| 事件 | detail | 说明 |
|
|
32
|
+
| ------------ | -------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
|
|
33
|
+
| check | `TreeNodeKey[]` — 所有勾选节点的 key 数组 | 勾选状态变化时触发 |
|
|
34
|
+
| check.detail | `CheckDetail` — { checkedKeys: 已勾选的节点 key 数组, halfCheckedKeys: 半选中的节点 key 数组 } | 勾选状态变化时触发,包含半选中状态 |
|
|
35
|
+
| expand | `TreeNodeKey[]` — 当前展开的节点 key 数组 | 展开/折叠节点时触发 |
|
|
36
|
+
| node.drop | `DropDetail` — { dragNode: 被拖拽的节点, dropNode: 放置目标节点, dropPosition: 放置位置(0 表示内部,-1 表示上方,1 表示下方) } | 节点拖拽放置时触发 |
|
|
2
37
|
|
|
3
38
|
## Examples
|
|
4
39
|
|
|
5
40
|
### Basic
|
|
6
41
|
|
|
42
|
+
展示树形构件的基本用法,默认展开所有节点。
|
|
43
|
+
|
|
7
44
|
```yaml preview
|
|
8
45
|
brick: eo-tree
|
|
9
46
|
properties:
|
|
@@ -28,6 +65,8 @@ properties:
|
|
|
28
65
|
|
|
29
66
|
### Checkable
|
|
30
67
|
|
|
68
|
+
开启 checkable 显示勾选框,并配置 showLine 显示连接线,勾选变化时触发 check 事件。
|
|
69
|
+
|
|
31
70
|
```yaml preview
|
|
32
71
|
brick: eo-tree
|
|
33
72
|
properties:
|
|
@@ -59,7 +98,9 @@ events:
|
|
|
59
98
|
action: console.log
|
|
60
99
|
```
|
|
61
100
|
|
|
62
|
-
###
|
|
101
|
+
### Title Suffix Brick
|
|
102
|
+
|
|
103
|
+
通过 titleSuffixBrick 在每个节点标题后渲染自定义构件。
|
|
63
104
|
|
|
64
105
|
```yaml preview
|
|
65
106
|
brick: eo-tree
|
|
@@ -93,3 +134,68 @@ properties:
|
|
|
93
134
|
- title: sss
|
|
94
135
|
key: 0-0-1-0
|
|
95
136
|
```
|
|
137
|
+
|
|
138
|
+
### Draggable
|
|
139
|
+
|
|
140
|
+
开启 nodeDraggable 允许拖拽节点,拖拽放置后触发 node.drop 事件。
|
|
141
|
+
|
|
142
|
+
```yaml preview
|
|
143
|
+
brick: eo-tree
|
|
144
|
+
properties:
|
|
145
|
+
defaultExpandAll: true
|
|
146
|
+
nodeDraggable: true
|
|
147
|
+
dataSource:
|
|
148
|
+
- title: parent 1
|
|
149
|
+
key: 0-0
|
|
150
|
+
children:
|
|
151
|
+
- title: parent 1-0
|
|
152
|
+
key: 0-0-0
|
|
153
|
+
children:
|
|
154
|
+
- title: leaf
|
|
155
|
+
key: 0-0-0-0
|
|
156
|
+
- title: leaf
|
|
157
|
+
key: 0-0-0-1
|
|
158
|
+
- title: parent 1-1
|
|
159
|
+
key: 0-0-1
|
|
160
|
+
children:
|
|
161
|
+
- title: sss
|
|
162
|
+
key: 0-0-1-0
|
|
163
|
+
events:
|
|
164
|
+
node.drop:
|
|
165
|
+
action: console.log
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Controlled Expand and Check
|
|
169
|
+
|
|
170
|
+
通过 expandedKeys 和 checkedKeys 受控管理展开与勾选状态,并监听 expand 事件。
|
|
171
|
+
|
|
172
|
+
```yaml preview
|
|
173
|
+
brick: eo-tree
|
|
174
|
+
properties:
|
|
175
|
+
checkable: true
|
|
176
|
+
expandedKeys:
|
|
177
|
+
- 0-0
|
|
178
|
+
checkedKeys:
|
|
179
|
+
- 0-0-0-0
|
|
180
|
+
dataSource:
|
|
181
|
+
- title: parent 1
|
|
182
|
+
key: 0-0
|
|
183
|
+
children:
|
|
184
|
+
- title: parent 1-0
|
|
185
|
+
key: 0-0-0
|
|
186
|
+
children:
|
|
187
|
+
- title: leaf
|
|
188
|
+
key: 0-0-0-0
|
|
189
|
+
- title: leaf
|
|
190
|
+
key: 0-0-0-1
|
|
191
|
+
- title: parent 1-1
|
|
192
|
+
key: 0-0-1
|
|
193
|
+
children:
|
|
194
|
+
- title: sss
|
|
195
|
+
key: 0-0-1-0
|
|
196
|
+
events:
|
|
197
|
+
expand:
|
|
198
|
+
action: console.log
|
|
199
|
+
check:
|
|
200
|
+
action: console.log
|
|
201
|
+
```
|