@hi-ui/check-select 4.6.2 → 4.6.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/CHANGELOG.md +9 -0
- package/lib/cjs/CheckSelect.js +17 -4
- package/lib/cjs/utils/index.js +3 -0
- package/lib/esm/CheckSelect.js +17 -4
- package/lib/esm/utils/index.js +3 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# @hi-ui/check-select
|
2
2
|
|
3
|
+
## 4.6.3
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#3126](https://github.com/XiaoMi/hiui/pull/3126) [`6173495f3`](https://github.com/XiaoMi/hiui/commit/6173495f3a09ed8fce6ebdf1a99a50ffdc394952) Thanks [@zyprepare](https://github.com/zyprepare)! - fix(check-select): 增强 mergedCheckedItems 逻辑以支持自定义渲染函数,并修复 getAllCheckedStatus 函数对非数组值的处理 (#3124)
|
8
|
+
|
9
|
+
- Updated dependencies [[`b97a8f8`](https://github.com/XiaoMi/hiui/commit/b97a8f81664b023237791769e0fd62b90956fc90)]:
|
10
|
+
- @hi-ui/popper@4.1.6
|
11
|
+
|
3
12
|
## 4.6.2
|
4
13
|
|
5
14
|
### Patch Changes
|
package/lib/cjs/CheckSelect.js
CHANGED
@@ -186,6 +186,22 @@ var CheckSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
186
186
|
var nextData = checkedItems.concat(flattedData);
|
187
187
|
return arrayUtils.uniqBy(nextData, 'id');
|
188
188
|
}, [checkedItems, flattedData]);
|
189
|
+
var mergedCheckedItems = React.useMemo(function () {
|
190
|
+
if (typeof customRender !== 'function') {
|
191
|
+
return [];
|
192
|
+
}
|
193
|
+
if (!Array.isArray(value)) {
|
194
|
+
return [];
|
195
|
+
}
|
196
|
+
return value.map(function (id) {
|
197
|
+
return mergedData.find(function (item) {
|
198
|
+
return item.id === id;
|
199
|
+
}) || {
|
200
|
+
id: id,
|
201
|
+
title: id
|
202
|
+
};
|
203
|
+
});
|
204
|
+
}, [customRender, mergedData, value]);
|
189
205
|
var _useState = React.useState(null),
|
190
206
|
filterItems = _useState[0],
|
191
207
|
setFilterItems = _useState[1];
|
@@ -299,10 +315,7 @@ var CheckSelect = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
299
315
|
onSearch: funcUtils.callAllFuncs(onSearchProp, onSearch),
|
300
316
|
loading: rest.loading !== undefined ? rest.loading : loading,
|
301
317
|
footer: renderDefaultFooter(),
|
302
|
-
trigger: customRender ? typeof customRender === 'function' ? customRender(
|
303
|
-
var _a;
|
304
|
-
return value.includes((_a = item.id) !== null && _a !== void 0 ? _a : '');
|
305
|
-
})) : customRender : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({}, tagInputProps, {
|
318
|
+
trigger: customRender ? typeof customRender === 'function' ? customRender(mergedCheckedItems) : customRender : ( /*#__PURE__*/React__default["default"].createElement(tagInput.TagInputMock, Object.assign({}, tagInputProps, {
|
306
319
|
size: size,
|
307
320
|
clearable: clearable,
|
308
321
|
placeholder: placeholder,
|
package/lib/cjs/utils/index.js
CHANGED
@@ -29,6 +29,9 @@ var isOption = function isOption(item) {
|
|
29
29
|
return true;
|
30
30
|
};
|
31
31
|
var getAllCheckedStatus = function getAllCheckedStatus(dropdownItems, values, filterFunc) {
|
32
|
+
if (!Array.isArray(values)) {
|
33
|
+
return [false, false];
|
34
|
+
}
|
32
35
|
var dropdownIds = dropdownItems.filter(filterFunc).map(function (_ref) {
|
33
36
|
var id = _ref.id;
|
34
37
|
return id;
|
package/lib/esm/CheckSelect.js
CHANGED
@@ -172,6 +172,22 @@ var CheckSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
172
172
|
var nextData = checkedItems.concat(flattedData);
|
173
173
|
return uniqBy(nextData, 'id');
|
174
174
|
}, [checkedItems, flattedData]);
|
175
|
+
var mergedCheckedItems = useMemo(function () {
|
176
|
+
if (typeof customRender !== 'function') {
|
177
|
+
return [];
|
178
|
+
}
|
179
|
+
if (!Array.isArray(value)) {
|
180
|
+
return [];
|
181
|
+
}
|
182
|
+
return value.map(function (id) {
|
183
|
+
return mergedData.find(function (item) {
|
184
|
+
return item.id === id;
|
185
|
+
}) || {
|
186
|
+
id: id,
|
187
|
+
title: id
|
188
|
+
};
|
189
|
+
});
|
190
|
+
}, [customRender, mergedData, value]);
|
175
191
|
var _useState = useState(null),
|
176
192
|
filterItems = _useState[0],
|
177
193
|
setFilterItems = _useState[1];
|
@@ -285,10 +301,7 @@ var CheckSelect = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
285
301
|
onSearch: callAllFuncs(onSearchProp, onSearch),
|
286
302
|
loading: rest.loading !== undefined ? rest.loading : loading,
|
287
303
|
footer: renderDefaultFooter(),
|
288
|
-
trigger: customRender ? typeof customRender === 'function' ? customRender(
|
289
|
-
var _a;
|
290
|
-
return value.includes((_a = item.id) !== null && _a !== void 0 ? _a : '');
|
291
|
-
})) : customRender : ( /*#__PURE__*/React.createElement(TagInputMock, Object.assign({}, tagInputProps, {
|
304
|
+
trigger: customRender ? typeof customRender === 'function' ? customRender(mergedCheckedItems) : customRender : ( /*#__PURE__*/React.createElement(TagInputMock, Object.assign({}, tagInputProps, {
|
292
305
|
size: size,
|
293
306
|
clearable: clearable,
|
294
307
|
placeholder: placeholder,
|
package/lib/esm/utils/index.js
CHANGED
@@ -23,6 +23,9 @@ var isOption = function isOption(item) {
|
|
23
23
|
return true;
|
24
24
|
};
|
25
25
|
var getAllCheckedStatus = function getAllCheckedStatus(dropdownItems, values, filterFunc) {
|
26
|
+
if (!Array.isArray(values)) {
|
27
|
+
return [false, false];
|
28
|
+
}
|
26
29
|
var dropdownIds = dropdownItems.filter(filterFunc).map(function (_ref) {
|
27
30
|
var id = _ref.id;
|
28
31
|
return id;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@hi-ui/check-select",
|
3
|
-
"version": "4.6.
|
3
|
+
"version": "4.6.3",
|
4
4
|
"description": "A sub-package for @hi-ui/hiui.",
|
5
5
|
"keywords": [],
|
6
6
|
"author": "HiUI <mi-hiui@xiaomi.com>",
|
@@ -53,7 +53,7 @@
|
|
53
53
|
"@hi-ui/icons": "^4.0.19",
|
54
54
|
"@hi-ui/input": "^4.3.0",
|
55
55
|
"@hi-ui/picker": "^4.1.6",
|
56
|
-
"@hi-ui/popper": "^4.1.
|
56
|
+
"@hi-ui/popper": "^4.1.6",
|
57
57
|
"@hi-ui/tag-input": "^4.1.3",
|
58
58
|
"@hi-ui/times": "^4.0.4",
|
59
59
|
"@hi-ui/tree-utils": "^4.1.6",
|