@hi-ui/check-tree-select 4.0.0-alpha.9 → 4.0.0-beta.3
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/README.md +87 -7
- package/lib/cjs/CheckTreeSelect.js +20 -13
- package/lib/cjs/CheckTreeSelect.js.map +1 -1
- package/lib/esm/CheckTreeSelect.js +20 -14
- package/lib/esm/CheckTreeSelect.js.map +1 -1
- package/lib/types/CheckTreeSelect.d.ts +15 -13
- package/package.json +21 -20
package/README.md
CHANGED
@@ -1,11 +1,91 @@
|
|
1
|
-
#
|
1
|
+
# CheckTreeSelect 树形多项选择器
|
2
2
|
|
3
|
-
|
3
|
+
一种接收树形数据结构的选择器,为用户提供复杂数据展示的能力
|
4
4
|
|
5
|
-
##
|
5
|
+
## 何时使用
|
6
6
|
|
7
|
-
|
8
|
-
|
7
|
+
- 选择部门的组织结构、部门等
|
8
|
+
- 选择商品目录等
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
## 使用示例
|
11
|
+
|
12
|
+
<!-- Inject Stories -->
|
13
|
+
|
14
|
+
## Props
|
15
|
+
|
16
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
17
|
+
| ------------------ | ---------------------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
18
|
+
| data | 展示数据 | DataItem [] | - | - |
|
19
|
+
| fieldNames | 设置 data 中 id, title, disabled, children 对应的 key (3.0 新增) | object | - | { title: 'title', id: 'id',disabled:'disabled', children: 'children'} |
|
20
|
+
| checkedMode | 数据回显模式 | string | ALL: 所有被选中节点,不区分父子节点 <br/>PARENT: 当所有子节点被选中时将只保留父节点<br/>CHILD:仅显示子节点 | ALL |
|
21
|
+
| disabled | 是否禁用 | boolean | true \| false | false |
|
22
|
+
| defaultExpandAll | 是否默认展开所有树节点 | boolean | true \| false | false |
|
23
|
+
| expandedIds | 展开的节点(受控) | ReactText[] | - | - |
|
24
|
+
| defaultExpandedIds | 默认展开的节点(非受控) | ReactText[] | - | - |
|
25
|
+
| defaultValue | 默认选中项 (非受控) | ReactText[] | - | - |
|
26
|
+
| value | 默认选中项 (受控) | ReactText[] | - | - |
|
27
|
+
| displayRender | 自定义渲染 Input 中展示内容 | (valueItem: checkedNode) => ReactNode | - | - |
|
28
|
+
| placeholder | 输入框占位 | string | - | 请选择 |
|
29
|
+
| searchPlaceholder | 搜索输入框占位 | string | - | 搜索 |
|
30
|
+
| loadingContent | 加载中文字提示 | string | - | 数据加载中... |
|
31
|
+
| searchMode | 节点搜索模式 | string | 'highlight' \| 'filter' | - |
|
32
|
+
| dataSource | 异步加载数据 | (key: string) => DataSource \| DataSource \| Promise | - | - |
|
33
|
+
| emptyContent | 没有选项时的提示 | string \| ReactNode | - | 无内容 |
|
34
|
+
| optionWidth | 自定义下拉选项宽度 | number | - | |
|
35
|
+
| overlayClassName | 下拉根元素的类名称 | string | - | - |
|
36
|
+
| popper | 自定义控制弹出层 popper 行为 | Omit<PopperProps, 'visible' \| 'attachEl'> | - | - |
|
37
|
+
|
38
|
+
## Events
|
39
|
+
|
40
|
+
| 名称 | 说明 | 类型 | 参数 | 返回值 |
|
41
|
+
| -------- | ---------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------ |
|
42
|
+
| onChange | 选中时触发 | (checkedIds: ReactText[], checkedNodes: DataItem[], targetNode: DataItem, shouldChecked: boolean) => void | checkedIds: 选中项 ID 集合 <br/> checkedNodes: 选中项数据项集合 <br/> targetNode: 当前操作节点 <br/> shouldChecked: 是否要被选中 | - |
|
43
|
+
|
44
|
+
### DataItem
|
45
|
+
|
46
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
47
|
+
| -------- | --------------- | ---------------- | ------ | ------ |
|
48
|
+
| title | 下拉选项标题 | string | - | - |
|
49
|
+
| id | 下拉选项唯一 id | string \| number | - | - |
|
50
|
+
| disabled | 是否禁用 | boolean | - | false |
|
51
|
+
| children | 子级数据 | DataItem[] | - | - |
|
52
|
+
|
53
|
+
### DataSource
|
54
|
+
|
55
|
+
| 参数 | 说明 | 类型 | 可选值 | 默认值 |
|
56
|
+
| ----------------- | ---------------------------------- | -------------------------------- | -------------------------------------------------- | ------------- |
|
57
|
+
| url | 请求的 url | string | - | - |
|
58
|
+
| type | 请求方法 | string | get \| post | get |
|
59
|
+
| data | post 请求时请求体参数 | object | - | - |
|
60
|
+
| params | url 查询参数 | object | - | - |
|
61
|
+
| headers | 请求头 | object | - | - |
|
62
|
+
| mode | 请求模式 | string | 'same-origin' \| 'cors' \| 'no-cors' \| 'navigate' | 'same-origin' |
|
63
|
+
| transformResponse | 成功时的回调,用于对数据进行预处理 | (response: object) => DataItem[] | - | - |
|
64
|
+
|
65
|
+
## CHANGELOG
|
66
|
+
|
67
|
+
> 从 TreeSelect 组件抽离多选模式出来,作为为单独 CheckTreeSelect 组件。
|
68
|
+
|
69
|
+
| 参数 | 变更类型 | 变更内容 | 解决的问题 |
|
70
|
+
| ------------------ | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
|
71
|
+
| propName | feature \| deprecated \| update | 变更了什么 | 之前是什么样子,解决什么问题 |
|
72
|
+
| ---- | ---- | ---- | ---- |
|
73
|
+
| value | update | 类型 DataItem[] \| string[] \| string -> <string \| number>[] | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
|
74
|
+
| defaultValue | update | 类型 DataItem[] \| string[] \| string -> <string \| number>[] | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
|
75
|
+
| id | update | 类型 string -> string \| number | 对于表单控件 id 值的控制,均使用 React.ReactText(即 string 和 number 都支持) |
|
76
|
+
| bordered | deprecated | 字段 `bordered` -> `appearance` | 对于 Picker 类型的组件,统一使用 appearance 设置外形(线\面\无边框)值 |
|
77
|
+
| searchPlaceholder | feature | - | Picker 类型组件统一支持 |
|
78
|
+
| loadingContent | feature | - | Picker 类型组件统一支持,适配新 UI |
|
79
|
+
| popper | feature | - | Picker 类型组件统一支持,聚合管理。比如: placement,之前有的加了有的没加 |
|
80
|
+
| titleRender | feature | - | 统一支持自定义渲染每一项 |
|
81
|
+
| virtual | feature | - | 支持虚拟列表 |
|
82
|
+
| height | feature | - | 支持虚拟列表 |
|
83
|
+
| itemHeight | feature | - | 支持虚拟列表 |
|
84
|
+
| type | deprecated | - | 拆分单选多选组件单独维护 |
|
85
|
+
| autoload | deprecated | - | 页面级首次渲染执行数据加载操作,取消内置 |
|
86
|
+
| mode | deprecated | - | 面包屑模式可以使用 checkCascade 组件替代,交互形式更为优雅。 |
|
87
|
+
| appearance | feature | - | 统一支持:线性\面性\无边框 |
|
88
|
+
| valueRender | update | valueRender(items: DataItem[]) -> displayRender(item: DataItem) | 统一字段命名及其含义 |
|
89
|
+
| expandedIds | update | 字段:expandIds -> expandedIds | 统一字段命名及其含义 |
|
90
|
+
| defaultExpandedIds | update | defaultExpandIds -> defaultExpandedIds | 统一字段命名及其含义 |
|
91
|
+
| onChange | update | 类型:`(checkedIds \| checkedId, checkedNodes \| checkedNode, currentNode) => void` -> `(checkedIds: ReactText[], checkedNodes: DataItem[], targetNode: DataItem, shouldChecked: boolean) => void` | 1. 移除数组结构,方便用户获取;2. 暴露 shouldSelected 执行相应拦截之类的操作; 3. 点击清空时触发 onChange |
|
@@ -43,6 +43,8 @@ var tagInput = require('@hi-ui/tag-input');
|
|
43
43
|
|
44
44
|
var icons = require('@hi-ui/icons');
|
45
45
|
|
46
|
+
var localeContext = require('@hi-ui/locale-context');
|
47
|
+
|
46
48
|
var useSearchMode = require('@hi-ui/use-search-mode');
|
47
49
|
|
48
50
|
function _interopDefaultLegacy(e) {
|
@@ -73,6 +75,7 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
73
75
|
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
74
76
|
_a$fieldNames = _a.fieldNames,
|
75
77
|
fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
|
78
|
+
checkedMode = _a.checkedMode,
|
76
79
|
_a$defaultExpandAll = _a.defaultExpandAll,
|
77
80
|
defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
|
78
81
|
expandedIdsProp = _a.expandedIds,
|
@@ -86,15 +89,17 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
86
89
|
searchableProp = _a.searchable,
|
87
90
|
searchModeProp = _a.searchMode,
|
88
91
|
onLoadChildren = _a.onLoadChildren,
|
89
|
-
titleRender = _a.
|
92
|
+
titleRender = _a.render,
|
90
93
|
filterOption = _a.filterOption,
|
91
94
|
clearable = _a.clearable,
|
92
95
|
invalid = _a.invalid,
|
93
96
|
displayRender = _a.displayRender,
|
94
|
-
|
95
|
-
placeholder = _a$placeholder === void 0 ? '请选择' : _a$placeholder,
|
97
|
+
placeholderProp = _a.placeholder,
|
96
98
|
appearance = _a.appearance,
|
97
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "
|
99
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "checkedMode", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "clearable", "invalid", "displayRender", "placeholder", "appearance"]);
|
100
|
+
|
101
|
+
var i18n = localeContext.useLocaleContext();
|
102
|
+
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkTreeSelect.placeholder') : placeholderProp;
|
98
103
|
|
99
104
|
var _useToggle = useToggle.useToggle(),
|
100
105
|
menuVisible = _useToggle[0],
|
@@ -140,18 +145,19 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
140
145
|
selectedItems = _useState[0],
|
141
146
|
setSelectedItems = _useState[1];
|
142
147
|
|
143
|
-
var onSelect = React.useCallback(function (
|
144
|
-
|
145
|
-
tryChangeValue(checkedIds, node); // 存取异步选中数据
|
148
|
+
var onSelect = React.useCallback(function (checkedIds, option) {
|
149
|
+
tryChangeValue(checkedIds, option); // 存取异步选中数据
|
146
150
|
|
147
151
|
setSelectedItems(function (prev) {
|
148
152
|
var next = [].concat(prev);
|
153
|
+
var targetNode = option.targetNode,
|
154
|
+
checked = option.checked;
|
149
155
|
|
150
156
|
if (checked) {
|
151
|
-
next.push(
|
157
|
+
next.push(targetNode);
|
152
158
|
} else {
|
153
159
|
next.filter(function (item) {
|
154
|
-
return item.id !==
|
160
|
+
return item.id !== targetNode.id;
|
155
161
|
});
|
156
162
|
}
|
157
163
|
|
@@ -172,9 +178,9 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
172
178
|
filterOption: filterOption
|
173
179
|
});
|
174
180
|
var filterSearchStrategy = useSearchMode.useFilterSearch({
|
181
|
+
enabled: searchModeProp === 'filter',
|
175
182
|
data: data,
|
176
|
-
flattedData: flattedData
|
177
|
-
searchMode: searchModeProp
|
183
|
+
flattedData: flattedData
|
178
184
|
});
|
179
185
|
var highlightSearchStrategy = useSearchMode.useHighlightSearch({
|
180
186
|
data: data,
|
@@ -219,7 +225,7 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
219
225
|
});
|
220
226
|
});
|
221
227
|
} : tryChangeExpandedIds,
|
222
|
-
|
228
|
+
render: proxyTitleRender
|
223
229
|
}; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
|
224
230
|
|
225
231
|
var mergedData = React.useMemo(function () {
|
@@ -279,7 +285,8 @@ var CheckTreeSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
279
285
|
className: prefixCls + "__tree",
|
280
286
|
selectable: false,
|
281
287
|
checkable: true,
|
282
|
-
|
288
|
+
checkOnSelect: true,
|
289
|
+
checkedMode: checkedMode,
|
283
290
|
checkedIds: value,
|
284
291
|
onCheck: onSelect,
|
285
292
|
// TODO: 支持 fieldNames
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CheckTreeSelect.js","sources":["../../src/CheckTreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_VALUE","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","CheckTreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","filterOption","clearable","invalid","displayRender","placeholder","appearance","rest","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","flattenTree","id","raw","title","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","useState","selectedItems","setSelectedItems","onSelect","
|
1
|
+
{"version":3,"file":"CheckTreeSelect.js","sources":["../../src/CheckTreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_VALUE","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","CheckTreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","checkedMode","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","render","filterOption","clearable","invalid","displayRender","placeholderProp","placeholder","appearance","rest","i18n","useLocaleContext","isUndef","get","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","flattenTree","id","raw","title","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","useState","selectedItems","setSelectedItems","onSelect","checkedIds","option","prev","next","targetNode","checked","push","filter","item","_b","useAsyncSearch","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","filterSearchStrategy","useFilterSearch","enabled","highlightSearchStrategy","useHighlightSearch","useSearchMode","strategies","stateInSearch","state","setStateInSearch","onSearch","searchValue","keyword","proxyTitleRender","ret","highlight","React","Highlighter","shouldUseSearch","treeProps","ids","mergedData","nextData","concat","uniqBy","cls","cx","Picker","visible","onOpen","on","onClose","off","trigger","TagInputMock","suffix","UpOutlined","DownOutlined","focused","isArrayNonEmpty","Tree","selectable","checkable","checkOnSelect","onCheck","__DEV__","displayName","ALWAYS_ALLOW","getSemiCheckedIdsWithSet","isChecked","allowCheck","semiCheckedNodes","semiCheckedIdsSet","Set","parentId","parent","forEach","undefined","has","add","semiCheckedIds","Array","from"],"mappings":"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"}
|
@@ -16,11 +16,12 @@ import { Tree } from '@hi-ui/tree';
|
|
16
16
|
import { useUncontrolledState } from '@hi-ui/use-uncontrolled-state';
|
17
17
|
import { Picker } from '@hi-ui/picker';
|
18
18
|
import { flattenTree } from '@hi-ui/tree-utils';
|
19
|
-
import { isArrayNonEmpty } from '@hi-ui/type-assertion';
|
19
|
+
import { isUndef, isArrayNonEmpty } from '@hi-ui/type-assertion';
|
20
20
|
import { uniqBy } from 'lodash';
|
21
21
|
import { Highlighter } from '@hi-ui/highlighter';
|
22
22
|
import { TagInputMock } from '@hi-ui/tag-input';
|
23
23
|
import { UpOutlined, DownOutlined } from '@hi-ui/icons';
|
24
|
+
import { useLocaleContext } from '@hi-ui/locale-context';
|
24
25
|
import { useAsyncSearch, useTreeCustomSearch, useFilterSearch, useHighlightSearch, useSearchMode } from '@hi-ui/use-search-mode';
|
25
26
|
var TREE_SELECT_PREFIX = getPrefixCls('check-tree-select');
|
26
27
|
var DEFAULT_DATA = [];
|
@@ -42,6 +43,7 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
42
43
|
disabled = _a$disabled === void 0 ? false : _a$disabled,
|
43
44
|
_a$fieldNames = _a.fieldNames,
|
44
45
|
fieldNames = _a$fieldNames === void 0 ? DEFAULT_FIELD_NAMES : _a$fieldNames,
|
46
|
+
checkedMode = _a.checkedMode,
|
45
47
|
_a$defaultExpandAll = _a.defaultExpandAll,
|
46
48
|
defaultExpandAll = _a$defaultExpandAll === void 0 ? false : _a$defaultExpandAll,
|
47
49
|
expandedIdsProp = _a.expandedIds,
|
@@ -55,15 +57,17 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
55
57
|
searchableProp = _a.searchable,
|
56
58
|
searchModeProp = _a.searchMode,
|
57
59
|
onLoadChildren = _a.onLoadChildren,
|
58
|
-
titleRender = _a.
|
60
|
+
titleRender = _a.render,
|
59
61
|
filterOption = _a.filterOption,
|
60
62
|
clearable = _a.clearable,
|
61
63
|
invalid = _a.invalid,
|
62
64
|
displayRender = _a.displayRender,
|
63
|
-
|
64
|
-
placeholder = _a$placeholder === void 0 ? '请选择' : _a$placeholder,
|
65
|
+
placeholderProp = _a.placeholder,
|
65
66
|
appearance = _a.appearance,
|
66
|
-
rest = __rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "
|
67
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "data", "dataSource", "disabled", "fieldNames", "checkedMode", "defaultExpandAll", "expandedIds", "defaultExpandedIds", "onExpand", "defaultValue", "value", "onChange", "searchable", "searchMode", "onLoadChildren", "render", "filterOption", "clearable", "invalid", "displayRender", "placeholder", "appearance"]);
|
68
|
+
|
69
|
+
var i18n = useLocaleContext();
|
70
|
+
var placeholder = isUndef(placeholderProp) ? i18n.get('checkTreeSelect.placeholder') : placeholderProp;
|
67
71
|
|
68
72
|
var _useToggle = useToggle(),
|
69
73
|
menuVisible = _useToggle[0],
|
@@ -109,18 +113,19 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
109
113
|
selectedItems = _useState[0],
|
110
114
|
setSelectedItems = _useState[1];
|
111
115
|
|
112
|
-
var onSelect = useCallback(function (
|
113
|
-
|
114
|
-
tryChangeValue(checkedIds, node); // 存取异步选中数据
|
116
|
+
var onSelect = useCallback(function (checkedIds, option) {
|
117
|
+
tryChangeValue(checkedIds, option); // 存取异步选中数据
|
115
118
|
|
116
119
|
setSelectedItems(function (prev) {
|
117
120
|
var next = [].concat(prev);
|
121
|
+
var targetNode = option.targetNode,
|
122
|
+
checked = option.checked;
|
118
123
|
|
119
124
|
if (checked) {
|
120
|
-
next.push(
|
125
|
+
next.push(targetNode);
|
121
126
|
} else {
|
122
127
|
next.filter(function (item) {
|
123
|
-
return item.id !==
|
128
|
+
return item.id !== targetNode.id;
|
124
129
|
});
|
125
130
|
}
|
126
131
|
|
@@ -141,9 +146,9 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
141
146
|
filterOption: filterOption
|
142
147
|
});
|
143
148
|
var filterSearchStrategy = useFilterSearch({
|
149
|
+
enabled: searchModeProp === 'filter',
|
144
150
|
data: data,
|
145
|
-
flattedData: flattedData
|
146
|
-
searchMode: searchModeProp
|
151
|
+
flattedData: flattedData
|
147
152
|
});
|
148
153
|
var highlightSearchStrategy = useHighlightSearch({
|
149
154
|
data: data,
|
@@ -188,7 +193,7 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
188
193
|
});
|
189
194
|
});
|
190
195
|
} : tryChangeExpandedIds,
|
191
|
-
|
196
|
+
render: proxyTitleRender
|
192
197
|
}; // 下拉菜单不能合并(因为树形数据,不知道是第几级)
|
193
198
|
|
194
199
|
var mergedData = useMemo(function () {
|
@@ -248,7 +253,8 @@ var CheckTreeSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
248
253
|
className: prefixCls + "__tree",
|
249
254
|
selectable: false,
|
250
255
|
checkable: true,
|
251
|
-
|
256
|
+
checkOnSelect: true,
|
257
|
+
checkedMode: checkedMode,
|
252
258
|
checkedIds: value,
|
253
259
|
onCheck: onSelect,
|
254
260
|
// TODO: 支持 fieldNames
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CheckTreeSelect.js","sources":["../../src/CheckTreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_VALUE","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","CheckTreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","filterOption","clearable","invalid","displayRender","placeholder","appearance","rest","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","flattenTree","id","raw","title","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","useState","selectedItems","setSelectedItems","onSelect","
|
1
|
+
{"version":3,"file":"CheckTreeSelect.js","sources":["../../src/CheckTreeSelect.tsx"],"sourcesContent":[null],"names":["TREE_SELECT_PREFIX","getPrefixCls","DEFAULT_DATA","DEFAULT_VALUE","DEFAULT_FIELD_NAMES","DEFAULT_EXPANDED_IDS","CheckTreeSelect","forwardRef","_a","ref","prefixCls","className","data","dataSource","disabled","fieldNames","checkedMode","defaultExpandAll","expandedIdsProp","expandedIds","defaultExpandedIds","onExpand","defaultValue","valueProp","value","onChange","searchableProp","searchable","searchModeProp","searchMode","onLoadChildren","titleRender","render","filterOption","clearable","invalid","displayRender","placeholderProp","placeholder","appearance","rest","i18n","useLocaleContext","isUndef","get","useToggle","menuVisible","menuVisibleAction","getKeyFields","useCallback","node","key","flattedData","useMemo","flattenTree","id","raw","title","useUncontrolledState","getDefaultExpandedIds","map","tryChangeExpandedIds","tryChangeValue","useState","selectedItems","setSelectedItems","onSelect","checkedIds","option","prev","next","targetNode","checked","push","filter","item","_b","useAsyncSearch","loading","hasError","dataSourceStrategy","customSearchStrategy","useTreeCustomSearch","filterSearchStrategy","useFilterSearch","enabled","highlightSearchStrategy","useHighlightSearch","useSearchMode","strategies","stateInSearch","state","setStateInSearch","onSearch","searchValue","keyword","proxyTitleRender","ret","highlight","React","Highlighter","shouldUseSearch","treeProps","ids","mergedData","nextData","concat","uniqBy","cls","cx","Picker","visible","onOpen","on","onClose","off","trigger","TagInputMock","suffix","UpOutlined","DownOutlined","focused","isArrayNonEmpty","Tree","selectable","checkable","checkOnSelect","onCheck","__DEV__","displayName","ALWAYS_ALLOW","getSemiCheckedIdsWithSet","isChecked","allowCheck","semiCheckedNodes","semiCheckedIdsSet","Set","parentId","parent","forEach","undefined","has","add","semiCheckedIds","Array","from"],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { DataSourceFunc, FieldNames, CheckTreeSelectDataItem, CheckTreeSelectDataSource } from './types';
|
3
|
-
import { PopperProps } from '@hi-ui/popper';
|
4
3
|
import { FlattedTreeNodeData, TreeNodeEventData } from '@hi-ui/tree';
|
5
4
|
import { PickerProps } from '@hi-ui/picker';
|
5
|
+
import { HiBaseAppearanceEnum } from '@hi-ui/core';
|
6
6
|
/**
|
7
7
|
* TODO: What is CheckTreeSelect
|
8
8
|
*/
|
@@ -22,7 +22,7 @@ export interface CheckTreeSelectProps extends Omit<PickerProps, 'data' | 'onChan
|
|
22
22
|
* PARENT: 当所有子节点被选中时将只保留父节点
|
23
23
|
* CHILD: 仅显示子节点
|
24
24
|
*/
|
25
|
-
|
25
|
+
checkedMode?: 'ALL' | 'PARENT' | 'CHILD';
|
26
26
|
/**
|
27
27
|
* 数据选择类型
|
28
28
|
*/
|
@@ -80,7 +80,7 @@ export interface CheckTreeSelectProps extends Omit<PickerProps, 'data' | 'onChan
|
|
80
80
|
/**
|
81
81
|
* 自定义渲染节点的 title 内容
|
82
82
|
*/
|
83
|
-
|
83
|
+
render?: (node: TreeNodeEventData) => React.ReactNode;
|
84
84
|
/**
|
85
85
|
* 点击异步加载子项
|
86
86
|
*/
|
@@ -107,23 +107,25 @@ export interface CheckTreeSelectProps extends Omit<PickerProps, 'data' | 'onChan
|
|
107
107
|
overlayClassName?: string;
|
108
108
|
/**
|
109
109
|
* 选中时触发
|
110
|
-
* checkedIds
|
111
|
-
* checkedNodes
|
112
|
-
*
|
113
|
-
|
114
|
-
|
110
|
+
* checkedIds: 选中项 ID 集合
|
111
|
+
* checkedNodes: 选中项数据项集合
|
112
|
+
* targetNode: 当前操作节点
|
113
|
+
* checked: 当前操作是否为选中操作
|
114
|
+
*/
|
115
|
+
onChange?: (checkedIds: React.ReactText[], options: {
|
116
|
+
checkedNodes: CheckTreeSelectDataItem[];
|
117
|
+
semiCheckedIds: React.ReactText[];
|
118
|
+
targetNode: TreeNodeEventData;
|
119
|
+
checked: boolean;
|
120
|
+
}) => void;
|
115
121
|
/**
|
116
122
|
* 是否可清空
|
117
123
|
*/
|
118
124
|
clearable?: boolean;
|
119
|
-
/**
|
120
|
-
* 自定义控制 popper 行为
|
121
|
-
*/
|
122
|
-
popper?: PopperProps;
|
123
125
|
/**
|
124
126
|
* 设置展现形式
|
125
127
|
*/
|
126
|
-
appearance?:
|
128
|
+
appearance?: HiBaseAppearanceEnum;
|
127
129
|
}
|
128
130
|
/**
|
129
131
|
* 在 checkedIdsSet 为数据合法的情况下,查找所有的半选中态的节点 ids
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/check-tree-select",
|
3
|
-
"version": "4.0.0-
|
3
|
+
"version": "4.0.0-beta.3",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HIUI <mi-hiui@xiaomi.com>",
|
@@ -43,31 +43,32 @@
|
|
43
43
|
"url": "https://github.com/XiaoMi/hiui/issues"
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"@hi-ui/classname": "^4.0.0-
|
47
|
-
"@hi-ui/core": "^4.0.0-
|
48
|
-
"@hi-ui/core-css": "^4.0.0-
|
49
|
-
"@hi-ui/env": "^4.0.0-
|
50
|
-
"@hi-ui/highlighter": "^4.0.0-
|
51
|
-
"@hi-ui/icons": "^4.0.0-
|
52
|
-
"@hi-ui/
|
53
|
-
"@hi-ui/
|
54
|
-
"@hi-ui/
|
55
|
-
"@hi-ui/
|
56
|
-
"@hi-ui/tree
|
57
|
-
"@hi-ui/
|
58
|
-
"@hi-ui/
|
59
|
-
"@hi-ui/use-
|
60
|
-
"@hi-ui/use-
|
46
|
+
"@hi-ui/classname": "^4.0.0-beta.0",
|
47
|
+
"@hi-ui/core": "^4.0.0-beta.0",
|
48
|
+
"@hi-ui/core-css": "^4.0.0-beta.0",
|
49
|
+
"@hi-ui/env": "^4.0.0-beta.0",
|
50
|
+
"@hi-ui/highlighter": "^4.0.0-beta.0",
|
51
|
+
"@hi-ui/icons": "^4.0.0-beta.0",
|
52
|
+
"@hi-ui/locale-context": "^4.0.0-beta.1",
|
53
|
+
"@hi-ui/picker": "^4.0.0-beta.2",
|
54
|
+
"@hi-ui/popper": "^4.0.0-beta.0",
|
55
|
+
"@hi-ui/tag-input": "^4.0.0-beta.1",
|
56
|
+
"@hi-ui/tree": "^4.0.0-beta.3",
|
57
|
+
"@hi-ui/tree-utils": "^4.0.0-beta.0",
|
58
|
+
"@hi-ui/type-assertion": "^4.0.0-beta.0",
|
59
|
+
"@hi-ui/use-search-mode": "^4.0.0-beta.1",
|
60
|
+
"@hi-ui/use-toggle": "^4.0.0-beta.0",
|
61
|
+
"@hi-ui/use-uncontrolled-state": "^4.0.0-beta.0",
|
61
62
|
"lodash": "^4.17.21"
|
62
63
|
},
|
63
64
|
"peerDependencies": {
|
64
|
-
"react": "
|
65
|
-
"react-dom": "
|
65
|
+
"react": ">=16.8.6",
|
66
|
+
"react-dom": ">=16.8.6"
|
66
67
|
},
|
67
68
|
"devDependencies": {
|
68
|
-
"@hi-ui/hi-build": "^4.0.0-
|
69
|
+
"@hi-ui/hi-build": "^4.0.0-beta.0",
|
69
70
|
"react": "^17.0.1",
|
70
71
|
"react-dom": "^17.0.1"
|
71
72
|
},
|
72
|
-
"gitHead": "
|
73
|
+
"gitHead": "a4fea8a5a1e2b1c7402aa947e6ae08af66527743"
|
73
74
|
}
|