@hi-ui/tag-input 4.1.1 → 4.1.3-alpha.0
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 +6 -0
- package/lib/cjs/TagInputMock.js +8 -5
- package/lib/esm/TagInputMock.js +8 -5
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# @hi-ui/tag-input
|
2
2
|
|
3
|
+
## 4.1.2
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- [#3000](https://github.com/XiaoMi/hiui/pull/3000) [`908d6cd96`](https://github.com/XiaoMi/hiui/commit/908d6cd9657551203917230d9a91de45e65354c2) Thanks [@zyprepare](https://github.com/zyprepare)! - perf: 优化大数据下勾选卡顿
|
8
|
+
|
3
9
|
## 4.1.1
|
4
10
|
|
5
11
|
### Patch Changes
|
package/lib/cjs/TagInputMock.js
CHANGED
@@ -79,10 +79,11 @@ var TagInputMock = /*#__PURE__*/React.forwardRef(function (_a, ref) {
|
|
79
79
|
value = _useUncontrolledState[0],
|
80
80
|
tryChangeValue = _useUncontrolledState[1];
|
81
81
|
var tagList = React.useMemo(function () {
|
82
|
+
var dataMap = new Map(data.map(function (item) {
|
83
|
+
return [item.id, item];
|
84
|
+
}));
|
82
85
|
return value.map(function (id) {
|
83
|
-
return
|
84
|
-
return item.id === id;
|
85
|
-
}) || {
|
86
|
+
return dataMap.get(id) || {
|
86
87
|
id: id,
|
87
88
|
title: id
|
88
89
|
};
|
@@ -258,8 +259,10 @@ function MockTag(_ref) {
|
|
258
259
|
maxWidth = _ref.maxWidth,
|
259
260
|
_ref$hidden = _ref.hidden,
|
260
261
|
hidden = _ref$hidden === void 0 ? false : _ref$hidden;
|
261
|
-
var title = typeAssertion.isFunction(displayRender) ? displayRender(option) : true;
|
262
262
|
var closeable = !option.disabled;
|
263
|
+
var title = React.useMemo(function () {
|
264
|
+
return typeAssertion.isFunction(displayRender) ? displayRender(option) : option.title;
|
265
|
+
}, [displayRender, option]);
|
263
266
|
return /*#__PURE__*/React__default["default"].createElement(ResizeDetector__default["default"], {
|
264
267
|
skipOnMount: false,
|
265
268
|
onResize: function onResize(width) {
|
@@ -282,7 +285,7 @@ function MockTag(_ref) {
|
|
282
285
|
key: option.id
|
283
286
|
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
284
287
|
className: prefixCls + "__tag-content"
|
285
|
-
}, title
|
288
|
+
}, title), closeable ? ( /*#__PURE__*/React__default["default"].createElement("span", {
|
286
289
|
className: prefixCls + "__tag-closed",
|
287
290
|
onClick: function onClick(evt) {
|
288
291
|
if (disabled) return;
|
package/lib/esm/TagInputMock.js
CHANGED
@@ -66,10 +66,11 @@ var TagInputMock = /*#__PURE__*/forwardRef(function (_a, ref) {
|
|
66
66
|
value = _useUncontrolledState[0],
|
67
67
|
tryChangeValue = _useUncontrolledState[1];
|
68
68
|
var tagList = useMemo(function () {
|
69
|
+
var dataMap = new Map(data.map(function (item) {
|
70
|
+
return [item.id, item];
|
71
|
+
}));
|
69
72
|
return value.map(function (id) {
|
70
|
-
return
|
71
|
-
return item.id === id;
|
72
|
-
}) || {
|
73
|
+
return dataMap.get(id) || {
|
73
74
|
id: id,
|
74
75
|
title: id
|
75
76
|
};
|
@@ -245,8 +246,10 @@ function MockTag(_ref) {
|
|
245
246
|
maxWidth = _ref.maxWidth,
|
246
247
|
_ref$hidden = _ref.hidden,
|
247
248
|
hidden = _ref$hidden === void 0 ? false : _ref$hidden;
|
248
|
-
var title = isFunction(displayRender) ? displayRender(option) : true;
|
249
249
|
var closeable = !option.disabled;
|
250
|
+
var title = useMemo(function () {
|
251
|
+
return isFunction(displayRender) ? displayRender(option) : option.title;
|
252
|
+
}, [displayRender, option]);
|
250
253
|
return /*#__PURE__*/React.createElement(ResizeDetector, {
|
251
254
|
skipOnMount: false,
|
252
255
|
onResize: function onResize(width) {
|
@@ -269,7 +272,7 @@ function MockTag(_ref) {
|
|
269
272
|
key: option.id
|
270
273
|
}, /*#__PURE__*/React.createElement("span", {
|
271
274
|
className: prefixCls + "__tag-content"
|
272
|
-
}, title
|
275
|
+
}, title), closeable ? ( /*#__PURE__*/React.createElement("span", {
|
273
276
|
className: prefixCls + "__tag-closed",
|
274
277
|
onClick: function onClick(evt) {
|
275
278
|
if (disabled) return;
|