@hi-ui/check-cascader 4.3.1-alpha.0 → 4.3.1-alpha.2
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/CHANGELOG.md
ADDED
@@ -0,0 +1,168 @@
|
|
1
|
+
# @hi-ui/check-cascader
|
2
|
+
|
3
|
+
## 4.3.0
|
4
|
+
|
5
|
+
### Minor Changes
|
6
|
+
|
7
|
+
- [#2868](https://github.com/XiaoMi/hiui/pull/2868) [`95f2e843d`](https://github.com/XiaoMi/hiui/commit/95f2e843d154d5767c08d7a04a86d61804d71396) Thanks [@xiamiao1121](https://github.com/xiamiao1121)! - feat: 新增支持配置字段别名
|
8
|
+
|
9
|
+
- [#2824](https://github.com/XiaoMi/hiui/pull/2824) [`912c60b7b`](https://github.com/XiaoMi/hiui/commit/912c60b7b0f19a8386ec1de30fe6440e3963f288) Thanks [@xiamiao1121](https://github.com/xiamiao1121)! - feat: 支持前置后置内容
|
10
|
+
|
11
|
+
- [#2920](https://github.com/XiaoMi/hiui/pull/2920) [`ec38ee1a6`](https://github.com/XiaoMi/hiui/commit/ec38ee1a62f1716106ecd4617840295c1f22ed5b) Thanks [@yang-x20](https://github.com/yang-x20)! - feat: 新增自定义触发器
|
12
|
+
|
13
|
+
## 4.2.7
|
14
|
+
|
15
|
+
### Patch Changes
|
16
|
+
|
17
|
+
- [#2791](https://github.com/XiaoMi/hiui/pull/2791) [`1a00f9fc4`](https://github.com/XiaoMi/hiui/commit/1a00f9fc4a44619059d7852e846b54fedbd56715) Thanks [@zyprepare](https://github.com/zyprepare)! - build: style-inject(node 环境下有问题) 替换为 @hi-ui/style-inject
|
18
|
+
|
19
|
+
- Updated dependencies [[`1a00f9fc4`](https://github.com/XiaoMi/hiui/commit/1a00f9fc4a44619059d7852e846b54fedbd56715)]:
|
20
|
+
- @hi-ui/env@4.0.5
|
21
|
+
- @hi-ui/icons@4.0.19
|
22
|
+
- @hi-ui/checkbox@4.0.10
|
23
|
+
- @hi-ui/input@4.1.1
|
24
|
+
- @hi-ui/picker@4.1.6
|
25
|
+
- @hi-ui/popper@4.1.5
|
26
|
+
- @hi-ui/spinner@4.0.9
|
27
|
+
- @hi-ui/tag-input@4.1.1
|
28
|
+
- @hi-ui/array-utils@4.0.5
|
29
|
+
- @hi-ui/classname@4.0.5
|
30
|
+
|
31
|
+
## 4.2.6
|
32
|
+
|
33
|
+
### Patch Changes
|
34
|
+
|
35
|
+
- [#2752](https://github.com/XiaoMi/hiui/pull/2752) [`8cc7d032a`](https://github.com/XiaoMi/hiui/commit/8cc7d032aff1aa62099e71e2e1a3ca3a9a226e30) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修复 PARENT 和 CHILD 模式在搜索场景下 id 丢失问题
|
36
|
+
|
37
|
+
- Updated dependencies [[`a9b9c93fc`](https://github.com/XiaoMi/hiui/commit/a9b9c93fc3a3fea60d14052a5afeef9daf7efa1b), [`b3a13135c`](https://github.com/XiaoMi/hiui/commit/b3a13135c77e75291d5864ff7fcf63ddb2ff46b8), [`ca008e4ae`](https://github.com/XiaoMi/hiui/commit/ca008e4ae9753bc1f11efcdcbf09121d1ef07b56)]:
|
38
|
+
- @hi-ui/input@4.1.0
|
39
|
+
- @hi-ui/tag-input@4.1.0
|
40
|
+
- @hi-ui/tree-utils@4.1.6
|
41
|
+
|
42
|
+
## 4.2.5
|
43
|
+
|
44
|
+
### Patch Changes
|
45
|
+
|
46
|
+
- build: rollup2 构建
|
47
|
+
- Updated dependencies
|
48
|
+
- @hi-ui/core@4.0.8
|
49
|
+
- @hi-ui/use-check@4.0.5
|
50
|
+
- @hi-ui/use-data-source@4.0.4
|
51
|
+
- @hi-ui/use-latest@4.0.4
|
52
|
+
- @hi-ui/use-merge-refs@4.0.4
|
53
|
+
- @hi-ui/use-outside-click@4.0.4
|
54
|
+
- @hi-ui/use-search-mode@4.1.4
|
55
|
+
- @hi-ui/use-toggle@4.0.4
|
56
|
+
- @hi-ui/use-uncontrolled-state@4.0.4
|
57
|
+
- @hi-ui/icons@4.0.18
|
58
|
+
- @hi-ui/checkbox@4.0.8
|
59
|
+
- @hi-ui/input@4.0.13
|
60
|
+
- @hi-ui/picker@4.1.4
|
61
|
+
- @hi-ui/popper@4.1.3
|
62
|
+
- @hi-ui/spinner@4.0.8
|
63
|
+
- @hi-ui/tag-input@4.0.10
|
64
|
+
- @hi-ui/array-utils@4.0.4
|
65
|
+
- @hi-ui/classname@4.0.4
|
66
|
+
- @hi-ui/env@4.0.4
|
67
|
+
- @hi-ui/func-utils@4.0.4
|
68
|
+
- @hi-ui/times@4.0.4
|
69
|
+
- @hi-ui/tree-utils@4.1.4
|
70
|
+
- @hi-ui/type-assertion@4.0.4
|
71
|
+
|
72
|
+
## 4.2.4
|
73
|
+
|
74
|
+
### Patch Changes
|
75
|
+
|
76
|
+
- fix: 修复 rollup3 打包 cjs 模块问题
|
77
|
+
- Updated dependencies
|
78
|
+
- @hi-ui/env@4.0.3
|
79
|
+
- @hi-ui/core@4.0.7
|
80
|
+
- @hi-ui/use-check@4.0.4
|
81
|
+
- @hi-ui/use-data-source@4.0.3
|
82
|
+
- @hi-ui/use-latest@4.0.3
|
83
|
+
- @hi-ui/use-merge-refs@4.0.3
|
84
|
+
- @hi-ui/use-outside-click@4.0.3
|
85
|
+
- @hi-ui/use-search-mode@4.1.3
|
86
|
+
- @hi-ui/use-toggle@4.0.3
|
87
|
+
- @hi-ui/use-uncontrolled-state@4.0.3
|
88
|
+
- @hi-ui/icons@4.0.17
|
89
|
+
- @hi-ui/checkbox@4.0.7
|
90
|
+
- @hi-ui/input@4.0.12
|
91
|
+
- @hi-ui/picker@4.1.3
|
92
|
+
- @hi-ui/popper@4.1.2
|
93
|
+
- @hi-ui/spinner@4.0.7
|
94
|
+
- @hi-ui/tag-input@4.0.9
|
95
|
+
- @hi-ui/array-utils@4.0.3
|
96
|
+
- @hi-ui/classname@4.0.3
|
97
|
+
- @hi-ui/func-utils@4.0.3
|
98
|
+
- @hi-ui/times@4.0.3
|
99
|
+
- @hi-ui/tree-utils@4.1.3
|
100
|
+
- @hi-ui/type-assertion@4.0.3
|
101
|
+
|
102
|
+
## 4.2.3
|
103
|
+
|
104
|
+
### Patch Changes
|
105
|
+
|
106
|
+
- [#2672](https://github.com/XiaoMi/hiui/pull/2672) [`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e) Thanks [@zyprepare](https://github.com/zyprepare)! - build: 升级到 rollup3,重新构建发布组件
|
107
|
+
|
108
|
+
- Updated dependencies [[`1ebe27830`](https://github.com/XiaoMi/hiui/commit/1ebe2783098b3a8cd980bd10076d67635463800e)]:
|
109
|
+
- @hi-ui/core@4.0.6
|
110
|
+
- @hi-ui/use-check@4.0.3
|
111
|
+
- @hi-ui/use-data-source@4.0.2
|
112
|
+
- @hi-ui/use-latest@4.0.2
|
113
|
+
- @hi-ui/use-merge-refs@4.0.2
|
114
|
+
- @hi-ui/use-outside-click@4.0.2
|
115
|
+
- @hi-ui/use-search-mode@4.1.2
|
116
|
+
- @hi-ui/use-toggle@4.0.2
|
117
|
+
- @hi-ui/use-uncontrolled-state@4.0.2
|
118
|
+
- @hi-ui/icons@4.0.16
|
119
|
+
- @hi-ui/checkbox@4.0.6
|
120
|
+
- @hi-ui/input@4.0.11
|
121
|
+
- @hi-ui/picker@4.1.2
|
122
|
+
- @hi-ui/popper@4.1.1
|
123
|
+
- @hi-ui/spinner@4.0.6
|
124
|
+
- @hi-ui/tag-input@4.0.8
|
125
|
+
- @hi-ui/array-utils@4.0.2
|
126
|
+
- @hi-ui/classname@4.0.2
|
127
|
+
- @hi-ui/env@4.0.2
|
128
|
+
- @hi-ui/func-utils@4.0.2
|
129
|
+
- @hi-ui/times@4.0.2
|
130
|
+
- @hi-ui/tree-utils@4.1.2
|
131
|
+
- @hi-ui/type-assertion@4.0.2
|
132
|
+
|
133
|
+
## 4.2.2
|
134
|
+
|
135
|
+
### Patch Changes
|
136
|
+
|
137
|
+
- [#2653](https://github.com/XiaoMi/hiui/pull/2653) [`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315) Thanks [@zyprepare](https://github.com/zyprepare)! - chore: 更新使用到的 G40 颜色值
|
138
|
+
|
139
|
+
- Updated dependencies [[`b477d91db`](https://github.com/XiaoMi/hiui/commit/b477d91db15bbc92c8712a9a771af5b332779315)]:
|
140
|
+
- @hi-ui/input@4.0.10
|
141
|
+
- @hi-ui/tag-input@4.0.7
|
142
|
+
|
143
|
+
## 4.2.1
|
144
|
+
|
145
|
+
### Patch Changes
|
146
|
+
|
147
|
+
- [#2612](https://github.com/XiaoMi/hiui/pull/2612) [`832360b54`](https://github.com/XiaoMi/hiui/commit/832360b54231983148858b12707087c6b6fbac87) Thanks [@zyprepare](https://github.com/zyprepare)! - fix: 修改下拉菜单高度为 32px
|
148
|
+
|
149
|
+
## 4.2.0
|
150
|
+
|
151
|
+
### Minor Changes
|
152
|
+
|
153
|
+
- [#2606](https://github.com/XiaoMi/hiui/pull/2606) [`9be456ec0`](https://github.com/XiaoMi/hiui/commit/9be456ec092031eab5ab6097f8276cde0bd4721d) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 renderExtraFooter 和 dropdownColumnRender api
|
154
|
+
|
155
|
+
- [#2602](https://github.com/XiaoMi/hiui/pull/2602) [`ad0d14abd`](https://github.com/XiaoMi/hiui/commit/ad0d14abdaf3ab2d5b79d649e7886ee90d1c941a) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: add size api
|
156
|
+
|
157
|
+
## 4.1.0
|
158
|
+
|
159
|
+
### Minor Changes
|
160
|
+
|
161
|
+
- [#2531](https://github.com/XiaoMi/hiui/pull/2531) [`0a9d90ac5`](https://github.com/XiaoMi/hiui/commit/0a9d90ac53bdf66aa2b83b698b58d2cdeb98d912) Thanks [@zyprepare](https://github.com/zyprepare)! - feat: 增加 tagInputProps API,支持显示内容高度自适应
|
162
|
+
|
163
|
+
### Patch Changes
|
164
|
+
|
165
|
+
- Updated dependencies [[`bd5940eba`](https://github.com/XiaoMi/hiui/commit/bd5940eba7d7a80aa676f37bb804ea27544864d2), [`0a9d90ac5`](https://github.com/XiaoMi/hiui/commit/0a9d90ac53bdf66aa2b83b698b58d2cdeb98d912)]:
|
166
|
+
- @hi-ui/picker@4.1.1
|
167
|
+
- @hi-ui/popper@4.0.5
|
168
|
+
- @hi-ui/tag-input@4.0.6
|
package/lib/cjs/CheckCascader.js
CHANGED
@@ -67,6 +67,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
67
67
|
invalid = _a.invalid,
|
68
68
|
filterOption = _a.filterOption,
|
69
69
|
searchableProp = _a.searchable,
|
70
|
+
keywordProp = _a.keyword,
|
70
71
|
onSearchProp = _a.onSearch,
|
71
72
|
overlayClassName = _a.overlayClassName,
|
72
73
|
_a$type = _a.type,
|
@@ -84,7 +85,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
84
85
|
dropdownColumnRender = _a.dropdownColumnRender,
|
85
86
|
customRender = _a.customRender,
|
86
87
|
fieldNames = _a.fieldNames,
|
87
|
-
rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
|
88
|
+
rest = tslib.__rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
|
88
89
|
var i18n = core.useLocaleContext();
|
89
90
|
var placeholder = typeAssertion.isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
|
90
91
|
var flatted = type === 'flatted';
|
@@ -99,9 +100,15 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
99
100
|
var _useCache = index.useCache(data),
|
100
101
|
cascaderData = _useCache[0],
|
101
102
|
setCascaderData = _useCache[1];
|
102
|
-
var
|
103
|
-
|
104
|
-
|
103
|
+
var _useMemo = React.useMemo(function () {
|
104
|
+
var flattedData = index$1.flattenTreeData(cascaderData, fieldNames);
|
105
|
+
var flattedDataMap = new Map(flattedData.map(function (node, index) {
|
106
|
+
return [node.id, node];
|
107
|
+
}));
|
108
|
+
return [flattedData, flattedDataMap];
|
109
|
+
}, [cascaderData, fieldNames]),
|
110
|
+
flattedData = _useMemo[0],
|
111
|
+
flattedDataMap = _useMemo[1];
|
105
112
|
var _useUncontrolledState = useUncontrolledState.useUncontrolledState(defaultValue, valueProp, onChange),
|
106
113
|
_value = _useUncontrolledState[0],
|
107
114
|
tryChangeValue = _useUncontrolledState[1];
|
@@ -110,11 +117,8 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
110
117
|
return path[path.length - 1];
|
111
118
|
});
|
112
119
|
var proxyOnChange = useLatest.useLatestCallback(function (value, item, shouldChecked) {
|
113
|
-
var flattedItems = flattedData;
|
114
120
|
var itemsPaths = value.map(function (lastId) {
|
115
|
-
var item =
|
116
|
-
return item.id === lastId;
|
117
|
-
});
|
121
|
+
var item = flattedDataMap.get(lastId);
|
118
122
|
if (item) {
|
119
123
|
return treeUtils.getTopDownAncestors(item).map(function (_ref) {
|
120
124
|
var id = _ref.id;
|
@@ -145,6 +149,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
145
149
|
});
|
146
150
|
var _useSearchMode = useSearchMode.useSearchMode({
|
147
151
|
searchable: searchableProp,
|
152
|
+
keyword: keywordProp,
|
148
153
|
strategies: [customSearchStrategy, upMatchSearchStrategy]
|
149
154
|
}),
|
150
155
|
stateInSearch = _useSearchMode.state,
|
@@ -196,11 +201,9 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
196
201
|
var cls = classname.cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
|
197
202
|
var selectedItems = React.useMemo(function () {
|
198
203
|
return value.map(function (selectedId) {
|
199
|
-
return
|
200
|
-
return item.id === selectedId;
|
201
|
-
});
|
204
|
+
return flattedDataMap.get(selectedId);
|
202
205
|
});
|
203
|
-
}, [
|
206
|
+
}, [flattedDataMap, value]);
|
204
207
|
return /*#__PURE__*/React__default["default"].createElement(picker.Picker, Object.assign({
|
205
208
|
ref: ref,
|
206
209
|
className: cls,
|
@@ -220,6 +223,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
220
223
|
searchable: searchable,
|
221
224
|
scrollable: false,
|
222
225
|
footer: typeAssertion.isFunction(renderExtraFooter) && renderExtraFooter(),
|
226
|
+
keyword: keywordProp,
|
223
227
|
onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
|
224
228
|
trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItems) : customRender : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({}, tagInputProps, {
|
225
229
|
size: size,
|
@@ -251,6 +255,7 @@ var CheckCascader = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
251
255
|
flatted: flatted || !!searchValue,
|
252
256
|
// @ts-ignore
|
253
257
|
flattedData: selectProps.data,
|
258
|
+
originalFlattedData: flattedData,
|
254
259
|
data: cascaderData,
|
255
260
|
onChangeData: setCascaderData,
|
256
261
|
checkedMode: checkedMode,
|
@@ -41,6 +41,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
41
41
|
role = _a$role === void 0 ? _role : _a$role,
|
42
42
|
className = _a.className,
|
43
43
|
flattedData = _a.flattedData,
|
44
|
+
originalFlattedData = _a.originalFlattedData,
|
44
45
|
onChangeData = _a.onChangeData,
|
45
46
|
valueProp = _a.value,
|
46
47
|
_a$defaultValue = _a.defaultValue,
|
@@ -60,7 +61,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
60
61
|
flatted = _a.flatted,
|
61
62
|
_a$checkedMode = _a.checkedMode,
|
62
63
|
checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
|
63
|
-
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
64
|
+
rest = tslib.__rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
64
65
|
if (checkCascaded === false) {
|
65
66
|
checkedMode = 'SEPARATE';
|
66
67
|
}
|
@@ -71,7 +72,7 @@ var CheckCascaderMenuList = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
71
72
|
var _useAsyncSwitch = useAsyncSwitch.useAsyncSwitch(onChangeData, onOptionSelect, onLoadChildren),
|
72
73
|
isLoadingId = _useAsyncSwitch[0],
|
73
74
|
onItemExpand = _useAsyncSwitch[1];
|
74
|
-
var _useCheck = useCheck.useCheck(checkedMode, disabled,
|
75
|
+
var _useCheck = useCheck.useCheck(checkedMode, disabled, originalFlattedData, defaultValue, valueProp, function (_ref, target, shouldChecked) {
|
75
76
|
var checkedIds = _ref.checkedIds;
|
76
77
|
// @ts-ignore
|
77
78
|
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds, target, shouldChecked);
|
package/lib/esm/CheckCascader.js
CHANGED
@@ -55,6 +55,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
55
55
|
invalid = _a.invalid,
|
56
56
|
filterOption = _a.filterOption,
|
57
57
|
searchableProp = _a.searchable,
|
58
|
+
keywordProp = _a.keyword,
|
58
59
|
onSearchProp = _a.onSearch,
|
59
60
|
overlayClassName = _a.overlayClassName,
|
60
61
|
_a$type = _a.type,
|
@@ -72,7 +73,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
72
73
|
dropdownColumnRender = _a.dropdownColumnRender,
|
73
74
|
customRender = _a.customRender,
|
74
75
|
fieldNames = _a.fieldNames,
|
75
|
-
rest = __rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
|
76
|
+
rest = __rest(_a, ["prefixCls", "className", "defaultValue", "value", "onChange", "data", "placeholder", "clearable", "onSelect", "expandTrigger", "disabled", "emptyContent", "changeOnSelect", "render", "displayRender", "checkCascaded", "searchPlaceholder", "onLoadChildren", "appearance", "invalid", "filterOption", "searchable", "keyword", "onSearch", "overlayClassName", "type", "checkedMode", "visible", "onOpen", "onClose", "tagInputProps", "size", "prefix", "suffix", "renderExtraFooter", "dropdownColumnRender", "customRender", "fieldNames"]);
|
76
77
|
var i18n = useLocaleContext();
|
77
78
|
var placeholder = isUndef(placeholderProp) ? i18n.get('checkCascader.placeholder') : placeholderProp;
|
78
79
|
var flatted = type === 'flatted';
|
@@ -87,9 +88,15 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
87
88
|
var _useCache = useCache(data),
|
88
89
|
cascaderData = _useCache[0],
|
89
90
|
setCascaderData = _useCache[1];
|
90
|
-
var
|
91
|
-
|
92
|
-
|
91
|
+
var _useMemo = useMemo(function () {
|
92
|
+
var flattedData = flattenTreeData(cascaderData, fieldNames);
|
93
|
+
var flattedDataMap = new Map(flattedData.map(function (node, index) {
|
94
|
+
return [node.id, node];
|
95
|
+
}));
|
96
|
+
return [flattedData, flattedDataMap];
|
97
|
+
}, [cascaderData, fieldNames]),
|
98
|
+
flattedData = _useMemo[0],
|
99
|
+
flattedDataMap = _useMemo[1];
|
93
100
|
var _useUncontrolledState = useUncontrolledState(defaultValue, valueProp, onChange),
|
94
101
|
_value = _useUncontrolledState[0],
|
95
102
|
tryChangeValue = _useUncontrolledState[1];
|
@@ -98,11 +105,8 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
98
105
|
return path[path.length - 1];
|
99
106
|
});
|
100
107
|
var proxyOnChange = useLatestCallback(function (value, item, shouldChecked) {
|
101
|
-
var flattedItems = flattedData;
|
102
108
|
var itemsPaths = value.map(function (lastId) {
|
103
|
-
var item =
|
104
|
-
return item.id === lastId;
|
105
|
-
});
|
109
|
+
var item = flattedDataMap.get(lastId);
|
106
110
|
if (item) {
|
107
111
|
return getTopDownAncestors(item).map(function (_ref) {
|
108
112
|
var id = _ref.id;
|
@@ -133,6 +137,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
133
137
|
});
|
134
138
|
var _useSearchMode = useSearchMode({
|
135
139
|
searchable: searchableProp,
|
140
|
+
keyword: keywordProp,
|
136
141
|
strategies: [customSearchStrategy, upMatchSearchStrategy]
|
137
142
|
}),
|
138
143
|
stateInSearch = _useSearchMode.state,
|
@@ -184,11 +189,9 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
184
189
|
var cls = cx(prefixCls, className, prefixCls + "--" + (menuVisible ? 'open' : 'closed'));
|
185
190
|
var selectedItems = useMemo(function () {
|
186
191
|
return value.map(function (selectedId) {
|
187
|
-
return
|
188
|
-
return item.id === selectedId;
|
189
|
-
});
|
192
|
+
return flattedDataMap.get(selectedId);
|
190
193
|
});
|
191
|
-
}, [
|
194
|
+
}, [flattedDataMap, value]);
|
192
195
|
return /*#__PURE__*/React.createElement(Picker, Object.assign({
|
193
196
|
ref: ref,
|
194
197
|
className: cls,
|
@@ -208,6 +211,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
208
211
|
searchable: searchable,
|
209
212
|
scrollable: false,
|
210
213
|
footer: isFunction(renderExtraFooter) && renderExtraFooter(),
|
214
|
+
keyword: keywordProp,
|
211
215
|
onSearch: callAllFuncs(onSearchProp, onSearch),
|
212
216
|
trigger: customRender ? typeof customRender === 'function' ? customRender(selectedItems) : customRender : ( /*#__PURE__*/React.createElement(TagInputMock, Object.assign({}, tagInputProps, {
|
213
217
|
size: size,
|
@@ -239,6 +243,7 @@ var CheckCascader = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
239
243
|
flatted: flatted || !!searchValue,
|
240
244
|
// @ts-ignore
|
241
245
|
flattedData: selectProps.data,
|
246
|
+
originalFlattedData: flattedData,
|
242
247
|
data: cascaderData,
|
243
248
|
onChangeData: setCascaderData,
|
244
249
|
checkedMode: checkedMode,
|
@@ -29,6 +29,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
29
29
|
role = _a$role === void 0 ? _role : _a$role,
|
30
30
|
className = _a.className,
|
31
31
|
flattedData = _a.flattedData,
|
32
|
+
originalFlattedData = _a.originalFlattedData,
|
32
33
|
onChangeData = _a.onChangeData,
|
33
34
|
valueProp = _a.value,
|
34
35
|
_a$defaultValue = _a.defaultValue,
|
@@ -48,7 +49,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
48
49
|
flatted = _a.flatted,
|
49
50
|
_a$checkedMode = _a.checkedMode,
|
50
51
|
checkedMode = _a$checkedMode === void 0 ? 'ALL' : _a$checkedMode,
|
51
|
-
rest = __rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
52
|
+
rest = __rest(_a, ["prefixCls", "role", "className", "children", "data", "flattedData", "originalFlattedData", "onChangeData", "value", "defaultValue", "disabled", "expandTrigger", "changeOnSelect", "checkCascaded", "onLoadChildren", "onChange", "onSelect", "titleRender", "dropdownColumnRender", "flatted", "checkedMode"]);
|
52
53
|
if (checkCascaded === false) {
|
53
54
|
checkedMode = 'SEPARATE';
|
54
55
|
}
|
@@ -59,7 +60,7 @@ var CheckCascaderMenuList = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
59
60
|
var _useAsyncSwitch = useAsyncSwitch(onChangeData, onOptionSelect, onLoadChildren),
|
60
61
|
isLoadingId = _useAsyncSwitch[0],
|
61
62
|
onItemExpand = _useAsyncSwitch[1];
|
62
|
-
var _useCheck = useCheck(checkedMode, disabled,
|
63
|
+
var _useCheck = useCheck(checkedMode, disabled, originalFlattedData, defaultValue, valueProp, function (_ref, target, shouldChecked) {
|
63
64
|
var checkedIds = _ref.checkedIds;
|
64
65
|
// @ts-ignore
|
65
66
|
onChange === null || onChange === void 0 ? void 0 : onChange(checkedIds, target, shouldChecked);
|
@@ -30,6 +30,11 @@ export interface CascaderMenusProps {
|
|
30
30
|
* 设置选择项数据源
|
31
31
|
*/
|
32
32
|
flattedData: FlattedCheckCascaderDataItem[];
|
33
|
+
/**
|
34
|
+
* 未被过滤的选择项数据源,Hotfix:https://github.com/XiaoMi/hiui/issues/2992
|
35
|
+
* @private
|
36
|
+
*/
|
37
|
+
originalFlattedData: FlattedCheckCascaderDataItem[];
|
33
38
|
/**
|
34
39
|
* 设置当前多选值
|
35
40
|
*/
|