bkui-vue 0.0.2-beta.95 → 0.0.2-beta.96

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/lib/tree/index.js CHANGED
@@ -6,274 +6,8 @@ import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
6
6
  import * as __WEBPACK_EXTERNAL_MODULE__exception_12c197e0__ from "../exception";
7
7
  import * as __WEBPACK_EXTERNAL_MODULE__checkbox_a57bcb84__ from "../checkbox";
8
8
  import * as __WEBPACK_EXTERNAL_MODULE__icon_85385c3e__ from "../icon";
9
- /******/ var __webpack_modules__ = ({
10
-
11
- /***/ 8022:
12
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
13
-
14
- var v1 = __webpack_require__(4481);
15
- var v4 = __webpack_require__(6426);
16
-
17
- var uuid = v4;
18
- uuid.v1 = v1;
19
- uuid.v4 = v4;
20
-
21
- module.exports = uuid;
22
-
23
-
24
- /***/ }),
25
-
26
- /***/ 8725:
27
- /***/ ((module) => {
28
-
29
- /**
30
- * Convert array of 16 byte values to UUID string format of the form:
31
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
32
- */
33
- var byteToHex = [];
34
- for (var i = 0; i < 256; ++i) {
35
- byteToHex[i] = (i + 0x100).toString(16).substr(1);
36
- }
37
-
38
- function bytesToUuid(buf, offset) {
39
- var i = offset || 0;
40
- var bth = byteToHex;
41
- // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
42
- return ([
43
- bth[buf[i++]], bth[buf[i++]],
44
- bth[buf[i++]], bth[buf[i++]], '-',
45
- bth[buf[i++]], bth[buf[i++]], '-',
46
- bth[buf[i++]], bth[buf[i++]], '-',
47
- bth[buf[i++]], bth[buf[i++]], '-',
48
- bth[buf[i++]], bth[buf[i++]],
49
- bth[buf[i++]], bth[buf[i++]],
50
- bth[buf[i++]], bth[buf[i++]]
51
- ]).join('');
52
- }
53
-
54
- module.exports = bytesToUuid;
55
-
56
-
57
- /***/ }),
58
-
59
- /***/ 9157:
60
- /***/ ((module) => {
61
-
62
- // Unique ID creation requires a high quality random # generator. In the
63
- // browser this is a little complicated due to unknown quality of Math.random()
64
- // and inconsistent support for the `crypto` API. We do the best we can via
65
- // feature-detection
66
-
67
- // getRandomValues needs to be invoked in a context where "this" is a Crypto
68
- // implementation. Also, find the complete implementation of crypto on IE11.
69
- var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||
70
- (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));
71
-
72
- if (getRandomValues) {
73
- // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
74
- var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
75
-
76
- module.exports = function whatwgRNG() {
77
- getRandomValues(rnds8);
78
- return rnds8;
79
- };
80
- } else {
81
- // Math.random()-based (RNG)
82
- //
83
- // If all else fails, use Math.random(). It's fast, but is of unspecified
84
- // quality.
85
- var rnds = new Array(16);
86
-
87
- module.exports = function mathRNG() {
88
- for (var i = 0, r; i < 16; i++) {
89
- if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
90
- rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
91
- }
92
-
93
- return rnds;
94
- };
95
- }
96
-
97
-
98
- /***/ }),
99
-
100
- /***/ 4481:
101
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
102
-
103
- var rng = __webpack_require__(9157);
104
- var bytesToUuid = __webpack_require__(8725);
105
-
106
- // **`v1()` - Generate time-based UUID**
107
- //
108
- // Inspired by https://github.com/LiosK/UUID.js
109
- // and http://docs.python.org/library/uuid.html
110
-
111
- var _nodeId;
112
- var _clockseq;
113
-
114
- // Previous uuid creation time
115
- var _lastMSecs = 0;
116
- var _lastNSecs = 0;
117
-
118
- // See https://github.com/uuidjs/uuid for API details
119
- function v1(options, buf, offset) {
120
- var i = buf && offset || 0;
121
- var b = buf || [];
122
-
123
- options = options || {};
124
- var node = options.node || _nodeId;
125
- var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
126
-
127
- // node and clockseq need to be initialized to random values if they're not
128
- // specified. We do this lazily to minimize issues related to insufficient
129
- // system entropy. See #189
130
- if (node == null || clockseq == null) {
131
- var seedBytes = rng();
132
- if (node == null) {
133
- // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)
134
- node = _nodeId = [
135
- seedBytes[0] | 0x01,
136
- seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]
137
- ];
138
- }
139
- if (clockseq == null) {
140
- // Per 4.2.2, randomize (14 bit) clockseq
141
- clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;
142
- }
143
- }
144
-
145
- // UUID timestamps are 100 nano-second units since the Gregorian epoch,
146
- // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so
147
- // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'
148
- // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.
149
- var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();
150
-
151
- // Per 4.2.1.2, use count of uuid's generated during the current clock
152
- // cycle to simulate higher resolution clock
153
- var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
154
-
155
- // Time since last uuid creation (in msecs)
156
- var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;
157
-
158
- // Per 4.2.1.2, Bump clockseq on clock regression
159
- if (dt < 0 && options.clockseq === undefined) {
160
- clockseq = clockseq + 1 & 0x3fff;
161
- }
162
-
163
- // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new
164
- // time interval
165
- if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
166
- nsecs = 0;
167
- }
168
-
169
- // Per 4.2.1.2 Throw error if too many uuids are requested
170
- if (nsecs >= 10000) {
171
- throw new Error('uuid.v1(): Can\'t create more than 10M uuids/sec');
172
- }
173
-
174
- _lastMSecs = msecs;
175
- _lastNSecs = nsecs;
176
- _clockseq = clockseq;
177
-
178
- // Per 4.1.4 - Convert from unix epoch to Gregorian epoch
179
- msecs += 12219292800000;
180
-
181
- // `time_low`
182
- var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;
183
- b[i++] = tl >>> 24 & 0xff;
184
- b[i++] = tl >>> 16 & 0xff;
185
- b[i++] = tl >>> 8 & 0xff;
186
- b[i++] = tl & 0xff;
187
-
188
- // `time_mid`
189
- var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;
190
- b[i++] = tmh >>> 8 & 0xff;
191
- b[i++] = tmh & 0xff;
192
-
193
- // `time_high_and_version`
194
- b[i++] = tmh >>> 24 & 0xf | 0x10; // include version
195
- b[i++] = tmh >>> 16 & 0xff;
196
-
197
- // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)
198
- b[i++] = clockseq >>> 8 | 0x80;
199
-
200
- // `clock_seq_low`
201
- b[i++] = clockseq & 0xff;
202
-
203
- // `node`
204
- for (var n = 0; n < 6; ++n) {
205
- b[i + n] = node[n];
206
- }
207
-
208
- return buf ? buf : bytesToUuid(b);
209
- }
210
-
211
- module.exports = v1;
212
-
213
-
214
- /***/ }),
215
-
216
- /***/ 6426:
217
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
218
-
219
- var rng = __webpack_require__(9157);
220
- var bytesToUuid = __webpack_require__(8725);
221
-
222
- function v4(options, buf, offset) {
223
- var i = buf && offset || 0;
224
-
225
- if (typeof(options) == 'string') {
226
- buf = options === 'binary' ? new Array(16) : null;
227
- options = null;
228
- }
229
- options = options || {};
230
-
231
- var rnds = options.random || (options.rng || rng)();
232
-
233
- // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
234
- rnds[6] = (rnds[6] & 0x0f) | 0x40;
235
- rnds[8] = (rnds[8] & 0x3f) | 0x80;
236
-
237
- // Copy bytes to buffer, if provided
238
- if (buf) {
239
- for (var ii = 0; ii < 16; ++ii) {
240
- buf[i + ii] = rnds[ii];
241
- }
242
- }
243
-
244
- return buf || bytesToUuid(rnds);
245
- }
246
-
247
- module.exports = v4;
248
-
249
-
250
- /***/ })
251
-
252
- /******/ });
253
- /************************************************************************/
254
- /******/ // The module cache
255
- /******/ var __webpack_module_cache__ = {};
256
- /******/
257
- /******/ // The require function
258
- /******/ function __webpack_require__(moduleId) {
259
- /******/ // Check if module is in cache
260
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
261
- /******/ if (cachedModule !== undefined) {
262
- /******/ return cachedModule.exports;
263
- /******/ }
264
- /******/ // Create a new module (and put it into the cache)
265
- /******/ var module = __webpack_module_cache__[moduleId] = {
266
- /******/ // no module.id needed
267
- /******/ // no module.loaded needed
268
- /******/ exports: {}
269
- /******/ };
270
- /******/
271
- /******/ // Execute the module function
272
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
273
- /******/
274
- /******/ // Return the exports of the module
275
- /******/ return module.exports;
276
- /******/ }
9
+ /******/ // The require scope
10
+ /******/ var __webpack_require__ = {};
277
11
  /******/
278
12
  /************************************************************************/
279
13
  /******/ /* webpack/runtime/define property getters */
@@ -295,8 +29,6 @@ module.exports = v4;
295
29
  /******/
296
30
  /************************************************************************/
297
31
  var __webpack_exports__ = {};
298
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
299
- (() => {
300
32
 
301
33
  // EXPORTS
302
34
  __webpack_require__.d(__webpack_exports__, {
@@ -1747,6 +1479,7 @@ var use_node_action_this = undefined;
1747
1479
  * @returns
1748
1480
  */
1749
1481
  var getVirtualLines = function getVirtualLines(node) {
1482
+ var _getNodeAttr;
1750
1483
  if (!props.levelLine) {
1751
1484
  return null;
1752
1485
  }
@@ -1755,7 +1488,7 @@ var use_node_action_this = undefined;
1755
1488
  '--depth': dpth
1756
1489
  };
1757
1490
  };
1758
- var maxDeep = getNodeAttr(node, NODE_ATTRIBUTES.DEPTH) + 1;
1491
+ var maxDeep = ((_getNodeAttr = getNodeAttr(node, NODE_ATTRIBUTES.DEPTH)) !== null && _getNodeAttr !== void 0 ? _getNodeAttr : 0) + 1;
1759
1492
  return new Array(maxDeep).fill('').map(function (_, index) {
1760
1493
  return index;
1761
1494
  }).filter(function (depth) {
@@ -2121,8 +1854,94 @@ var use_search_this = undefined;
2121
1854
  showChildNodes: showChildNodes
2122
1855
  };
2123
1856
  });
2124
- // EXTERNAL MODULE: ../../node_modules/uuid/index.js
2125
- var uuid = __webpack_require__(8022);
1857
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/native.js
1858
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
1859
+ /* harmony default export */ const esm_browser_native = ({
1860
+ randomUUID
1861
+ });
1862
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/rng.js
1863
+ // Unique ID creation requires a high quality random # generator. In the browser we therefore
1864
+ // require the crypto API and do not support built-in fallback to lower quality random number
1865
+ // generators (like Math.random()).
1866
+ let getRandomValues;
1867
+ const rnds8 = new Uint8Array(16);
1868
+ function rng() {
1869
+ // lazy load so that environments that need to polyfill have a chance to do so
1870
+ if (!getRandomValues) {
1871
+ // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation.
1872
+ getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
1873
+
1874
+ if (!getRandomValues) {
1875
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
1876
+ }
1877
+ }
1878
+
1879
+ return getRandomValues(rnds8);
1880
+ }
1881
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/stringify.js
1882
+
1883
+ /**
1884
+ * Convert array of 16 byte values to UUID string format of the form:
1885
+ * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
1886
+ */
1887
+
1888
+ const byteToHex = [];
1889
+
1890
+ for (let i = 0; i < 256; ++i) {
1891
+ byteToHex.push((i + 0x100).toString(16).slice(1));
1892
+ }
1893
+
1894
+ function unsafeStringify(arr, offset = 0) {
1895
+ // Note: Be careful editing this code! It's been tuned for performance
1896
+ // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434
1897
+ return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
1898
+ }
1899
+
1900
+ function stringify(arr, offset = 0) {
1901
+ const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one
1902
+ // of the following:
1903
+ // - One or more input array values don't map to a hex octet (leading to
1904
+ // "undefined" in the uuid)
1905
+ // - Invalid input values for the RFC `version` or `variant` fields
1906
+
1907
+ if (!validate(uuid)) {
1908
+ throw TypeError('Stringified UUID is invalid');
1909
+ }
1910
+
1911
+ return uuid;
1912
+ }
1913
+
1914
+ /* harmony default export */ const esm_browser_stringify = ((/* unused pure expression or super */ null && (stringify)));
1915
+ ;// CONCATENATED MODULE: ../../node_modules/uuid/dist/esm-browser/v4.js
1916
+
1917
+
1918
+
1919
+
1920
+ function v4(options, buf, offset) {
1921
+ if (esm_browser_native.randomUUID && !buf && !options) {
1922
+ return esm_browser_native.randomUUID();
1923
+ }
1924
+
1925
+ options = options || {};
1926
+ const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
1927
+
1928
+ rnds[6] = rnds[6] & 0x0f | 0x40;
1929
+ rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
1930
+
1931
+ if (buf) {
1932
+ offset = offset || 0;
1933
+
1934
+ for (let i = 0; i < 16; ++i) {
1935
+ buf[offset + i] = rnds[i];
1936
+ }
1937
+
1938
+ return buf;
1939
+ }
1940
+
1941
+ return unsafeStringify(rnds);
1942
+ }
1943
+
1944
+ /* harmony default export */ const esm_browser_v4 = (v4);
2126
1945
  ;// CONCATENATED MODULE: ../../packages/tree/src/use-tree-init.tsx
2127
1946
 
2128
1947
 
@@ -2191,6 +2010,9 @@ var use_tree_init_this = undefined;
2191
2010
  var target = treeSchema.get(node);
2192
2011
  if (Object.prototype.hasOwnProperty.call(target, attrName)) {
2193
2012
  if (typeof callFn === 'function' && Reflect.apply(callFn, self, [target, attrName, attrValue, node])) {
2013
+ if (target[attrName] === attrValue) {
2014
+ return;
2015
+ }
2194
2016
  Object.assign(target, _defineProperty({}, attrName, attrValue));
2195
2017
  loopUpdateNodeAttr(target[NODE_ATTRIBUTES.PARENT], attrName, attrValue, callFn);
2196
2018
  }
@@ -2200,9 +2022,9 @@ var use_tree_init_this = undefined;
2200
2022
  function getUid(item) {
2201
2023
  var uid = null;
2202
2024
  if (typeof props.nodeKey === 'string') {
2203
- uid = item[props.nodeKey] || (0,uuid.v4)();
2025
+ uid = item[props.nodeKey] || esm_browser_v4();
2204
2026
  }
2205
- return uid || item[NODE_ATTRIBUTES.UUID] || (0,uuid.v4)();
2027
+ return uid || item[NODE_ATTRIBUTES.UUID] || esm_browser_v4();
2206
2028
  }
2207
2029
  /**
2208
2030
  * 默认设置
@@ -2712,7 +2534,5 @@ var use_tree_init_this = undefined;
2712
2534
 
2713
2535
  var BkTree = (0,external_shared_namespaceObject.withInstall)(tree);
2714
2536
  /* harmony default export */ const src = (BkTree);
2715
- })();
2716
-
2717
2537
  var __webpack_exports__default = __webpack_exports__.Z;
2718
2538
  export { __webpack_exports__default as default };
@@ -327,40 +327,35 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
327
327
  diffHeight: diffHeight
328
328
  };
329
329
  }
330
- function computedVirtualIndex(lineHeight, callback, pagination, el, event, height) {
331
- if (!el) {
330
+ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
331
+ if (!event.target) {
332
332
  return;
333
333
  }
334
- var elScrollTop = el.scrollTop;
335
- var elScrollLeft = el.scrollLeft;
336
- var scrollTop = pagination.scrollTop,
337
- count = pagination.count,
338
- groupItemCount = pagination.groupItemCount,
339
- startIndex = pagination.startIndex,
340
- endIndex = pagination.endIndex,
341
- scrollLeft = pagination.scrollLeft;
342
- var offsetHeight = /^\d+(\.\d*)?$/.test(height) ? height : el.offsetHeight;
334
+ var elScrollTop = event.target.scrollTop;
335
+ var elScrollLeft = event.target.scrollLeft;
336
+ var elScrollHeight = event.target.scrollHeight;
337
+ var elOffsetHeight = event.target.offsetHeight;
338
+ var count = pagination.count,
339
+ groupItemCount = pagination.groupItemCount;
343
340
  var targetStartIndex = 0;
344
341
  var targetEndIndex = 0;
345
342
  var translateY = 0;
346
343
  if (typeof lineHeight === 'number') {
347
344
  targetStartIndex = Math.floor(elScrollTop / lineHeight);
348
- targetEndIndex = Math.ceil(offsetHeight / lineHeight) + targetStartIndex;
345
+ targetEndIndex = Math.ceil(elOffsetHeight / lineHeight) + targetStartIndex;
349
346
  translateY = elScrollTop % lineHeight;
350
347
  }
351
348
  if (typeof lineHeight === 'function') {
352
349
  var startValue = getMatchedIndex(count, elScrollTop, groupItemCount, lineHeight);
353
350
  targetStartIndex = startValue.startIndex > 0 ? startValue.startIndex : 0;
354
351
  translateY = startValue.diffHeight;
355
- var endValue = getMatchedIndex(count, offsetHeight, groupItemCount, lineHeight);
356
- targetEndIndex = endValue.startIndex + targetStartIndex + 1;
357
- }
358
- if (elScrollTop !== scrollTop || targetStartIndex !== startIndex || targetEndIndex !== endIndex || scrollLeft !== elScrollLeft) {
359
- var bottom = el.scrollHeight - el.offsetHeight - el.scrollTop;
360
- typeof callback === 'function' && callback(event, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {
361
- bottom: bottom >= 0 ? bottom : 0
362
- });
352
+ var endValue = getMatchedIndex(count, elOffsetHeight, groupItemCount, lineHeight);
353
+ targetEndIndex = endValue.startIndex + targetStartIndex;
363
354
  }
355
+ var bottom = elScrollHeight - elOffsetHeight - elScrollTop;
356
+ typeof callback === 'function' && callback(event, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {
357
+ bottom: bottom >= 0 ? bottom : 0
358
+ });
364
359
  return {
365
360
  targetStartIndex: targetStartIndex,
366
361
  targetEndIndex: targetEndIndex,
@@ -402,7 +397,6 @@ var VisibleRender = /*#__PURE__*/function () {
402
397
  count = pagination.count,
403
398
  scrollTop = pagination.scrollTop,
404
399
  scrollLeft = pagination.scrollLeft;
405
- var height = this.binding.height;
406
400
  computedVirtualIndex(lineHeight, handleScrollCallback, {
407
401
  scrollTop: scrollTop,
408
402
  startIndex: startIndex,
@@ -410,7 +404,7 @@ var VisibleRender = /*#__PURE__*/function () {
410
404
  groupItemCount: groupItemCount,
411
405
  count: count,
412
406
  scrollLeft: scrollLeft
413
- }, this.wrapper, e, height);
407
+ }, this.wrapper, e);
414
408
  }
415
409
  }, {
416
410
  key: "executeThrottledRender",
@@ -646,16 +640,31 @@ function virtual_render_objectSpread(target) { for (var i = 1; i < arguments.len
646
640
  pos: {},
647
641
  groupItemCount: props.groupItemCount
648
642
  });
643
+ var calcList = (0,external_vue_namespaceObject.ref)([]);
649
644
  /** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
650
645
  var handleScrollCallback = function handleScrollCallback(event, startIndex, endIndex, scrollTop, translateY, scrollLeft, pos) {
651
- pagination.startIndex = startIndex;
652
- pagination.endIndex = endIndex;
653
- pagination.scrollTop = scrollTop;
654
- // 设置偏移量,避免行高较大时出现卡顿式的滚动
655
- pagination.translateY = translateY;
656
- pagination.translateX = scrollLeft;
657
- pagination.scrollLeft = scrollLeft;
658
- Object.assign(pagination.pos, pos || {});
646
+ var translateX = scrollLeft;
647
+ Object.assign(pagination, {
648
+ startIndex: startIndex,
649
+ endIndex: endIndex,
650
+ scrollTop: scrollTop,
651
+ translateX: translateX,
652
+ translateY: translateY,
653
+ scrollLeft: scrollLeft,
654
+ pos: pos
655
+ });
656
+ var start = pagination.startIndex * props.groupItemCount;
657
+ var end = (pagination.endIndex + props.preloadItemCount) * props.groupItemCount;
658
+ var total = localList.value.length;
659
+ if (total < end) {
660
+ var contentLength = end - start;
661
+ calcList.value = localList.value.slice(start, total);
662
+ end = total + 1;
663
+ start = end - contentLength;
664
+ start = start < 0 ? 0 : start;
665
+ }
666
+ var value = localList.value.slice(start, end + 10);
667
+ calcList.value = value;
659
668
  if (event) {
660
669
  ctx.emit('content-scroll', [event, pagination]);
661
670
  }
@@ -668,12 +677,6 @@ function virtual_render_objectSpread(target) { for (var i = 1; i < arguments.len
668
677
  var _instance;
669
678
  (_instance = instance) === null || _instance === void 0 ? void 0 : _instance.uninstall();
670
679
  });
671
- var resolveHeight = (0,external_vue_namespaceObject.computed)(function () {
672
- if (/^\d+(\.\d*)?(px)?$/.test("".concat(props.height))) {
673
- return Number("".concat(props.height).replace(/px$/, ''));
674
- }
675
- return props.height;
676
- });
677
680
  (0,external_vue_namespaceObject.watch)(function () {
678
681
  return [props.lineHeight, props.height, props.list, props.maxHeight];
679
682
  }, function () {
@@ -723,15 +726,11 @@ function virtual_render_objectSpread(target) { for (var i = 1; i < arguments.len
723
726
  left: 0,
724
727
  top: 0
725
728
  };
729
+ var el = refRoot.value;
726
730
  (0,external_vue_namespaceObject.nextTick)(function () {
727
- var el = refRoot.value;
728
- var _computedVirtualIndex = computedVirtualIndex(props.lineHeight, handleScrollCallback, pagination, el, null, resolveHeight.value),
729
- targetStartIndex = _computedVirtualIndex.targetStartIndex,
730
- targetEndIndex = _computedVirtualIndex.targetEndIndex,
731
- elScrollTop = _computedVirtualIndex.elScrollTop,
732
- translateY = _computedVirtualIndex.translateY,
733
- elScrollLeft = _computedVirtualIndex.elScrollLeft;
734
- handleScrollCallback(null, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {});
731
+ computedVirtualIndex(props.lineHeight, handleScrollCallback, pagination, el, {
732
+ target: el
733
+ });
735
734
  });
736
735
  };
737
736
  /** 映射传入的数组为新的数组,增加 $index属性,用来处理唯一Index */
@@ -745,10 +744,6 @@ function virtual_render_objectSpread(target) { for (var i = 1; i < arguments.len
745
744
  });
746
745
  });
747
746
  });
748
- /** 计算出来的当前页数据 */
749
- var calcList = (0,external_vue_namespaceObject.computed)(function () {
750
- return localList.value.slice(pagination.startIndex * props.groupItemCount, (pagination.endIndex + props.preloadItemCount) * props.groupItemCount);
751
- });
752
747
  /** 展示列表内容区域样式 */
753
748
  var innerContentStyle = (0,external_vue_namespaceObject.computed)(function () {
754
749
  return props.scrollPosition === 'content' ? {
@@ -1,4 +1,4 @@
1
- export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, el: any, event: any, height: any): {
1
+ export declare function computedVirtualIndex(lineHeight: any, callback: any, pagination: any, _el: any, event: any): {
2
2
  targetStartIndex: number;
3
3
  targetEndIndex: number;
4
4
  elScrollTop: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "0.0.2-beta.95",
3
+ "version": "0.0.2-beta.96",
4
4
  "workspaces": {
5
5
  "packages": [
6
6
  "packages/!(**.bak)*",