@next-bricks/advanced 0.51.3 → 0.51.4

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.
Files changed (61) hide show
  1. package/dist/bricks.json +22 -22
  2. package/dist/chunks/4758.703acb39.js +3 -0
  3. package/dist/chunks/4758.703acb39.js.map +1 -0
  4. package/dist/chunks/{6070.74d93326.js → 7039.0ea489d5.js} +2 -2
  5. package/dist/chunks/7039.0ea489d5.js.map +1 -0
  6. package/dist/chunks/8382.eba253d7.js +2 -0
  7. package/dist/chunks/8382.eba253d7.js.map +1 -0
  8. package/dist/chunks/eo-cascader.b5d6ee02.js +2 -0
  9. package/dist/chunks/eo-cascader.b5d6ee02.js.map +1 -0
  10. package/dist/chunks/eo-next-table.25f4bf4d.js.map +1 -1
  11. package/dist/chunks/eo-table.5dd09651.js.map +1 -1
  12. package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
  13. package/dist/chunks/eo-tree-select.4034b1d9.js +2 -0
  14. package/dist/chunks/eo-tree-select.4034b1d9.js.map +1 -0
  15. package/dist/chunks/eo-workbench-layout-v2.24da89e7.js.map +1 -1
  16. package/dist/chunks/eo-workbench-layout.1ed8ce80.js.map +1 -1
  17. package/dist/chunks/{main.f43a8ad8.js → main.6b40d042.js} +2 -2
  18. package/dist/chunks/{main.f43a8ad8.js.map → main.6b40d042.js.map} +1 -1
  19. package/dist/chunks/pdf-viewer.036787d7.js.map +1 -1
  20. package/dist/examples.json +17 -11
  21. package/dist/{index.3d8026b9.js → index.6f2baf4a.js} +2 -2
  22. package/dist/{index.3d8026b9.js.map → index.6f2baf4a.js.map} +1 -1
  23. package/dist/manifest.json +656 -563
  24. package/dist/types.json +234 -234
  25. package/dist-types/cascader/index.d.ts +18 -0
  26. package/dist-types/next-table/index.d.ts +2 -1
  27. package/dist-types/pdf-viewer/index.d.ts +7 -1
  28. package/dist-types/table/index.d.ts +2 -1
  29. package/dist-types/text-tooltip/index.d.ts +5 -4
  30. package/dist-types/tree-select/index.d.ts +41 -1
  31. package/dist-types/workbench-layout/index.d.ts +26 -1
  32. package/dist-types/workbench-layout-v2/index.d.ts +31 -9
  33. package/docs/eo-cascader.md +184 -1
  34. package/docs/eo-cascader.react.md +247 -0
  35. package/docs/eo-next-table.md +343 -168
  36. package/docs/eo-next-table.react.md +923 -0
  37. package/docs/eo-table.md +296 -0
  38. package/docs/eo-table.react.md +223 -0
  39. package/docs/eo-text-tooltip.md +46 -1
  40. package/docs/eo-text-tooltip.react.md +69 -0
  41. package/docs/eo-tree-select.md +127 -1
  42. package/docs/eo-tree-select.react.md +206 -0
  43. package/docs/eo-tree.md +108 -2
  44. package/docs/eo-tree.react.md +220 -0
  45. package/docs/eo-workbench-layout-v2.md +204 -0
  46. package/docs/eo-workbench-layout-v2.react.md +162 -0
  47. package/docs/eo-workbench-layout.md +45 -3
  48. package/docs/eo-workbench-layout.react.md +141 -0
  49. package/docs/pdf-viewer.md +48 -1
  50. package/docs/pdf-viewer.react.md +63 -0
  51. package/package.json +2 -2
  52. package/dist/chunks/4758.5f79e636.js +0 -3
  53. package/dist/chunks/4758.5f79e636.js.map +0 -1
  54. package/dist/chunks/6070.74d93326.js.map +0 -1
  55. package/dist/chunks/8382.d552299f.js +0 -2
  56. package/dist/chunks/8382.d552299f.js.map +0 -1
  57. package/dist/chunks/eo-cascader.86a685ca.js +0 -2
  58. package/dist/chunks/eo-cascader.86a685ca.js.map +0 -1
  59. package/dist/chunks/eo-tree-select.31dae71f.js +0 -2
  60. package/dist/chunks/eo-tree-select.31dae71f.js.map +0 -1
  61. /package/dist/chunks/{4758.5f79e636.js.LICENSE.txt → 4758.703acb39.js.LICENSE.txt} +0 -0
@@ -1,9 +1,57 @@
1
- 构件 `eo-tree-select`
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
- ### titleSuffixBrick
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
+ ```