@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 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
@@ -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 data.find(function (item) {
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 === true ? option.title : title), closeable ? ( /*#__PURE__*/React__default["default"].createElement("span", {
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;
@@ -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 data.find(function (item) {
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 === true ? option.title : title), closeable ? ( /*#__PURE__*/React.createElement("span", {
275
+ }, title), closeable ? ( /*#__PURE__*/React.createElement("span", {
273
276
  className: prefixCls + "__tag-closed",
274
277
  onClick: function onClick(evt) {
275
278
  if (disabled) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hi-ui/tag-input",
3
- "version": "4.1.1",
3
+ "version": "4.1.3-alpha.0",
4
4
  "description": "A sub-package for @hi-ui/hiui.",
5
5
  "keywords": [],
6
6
  "author": "HiUI <mi-hiui@xiaomi.com>",