|
1 | 1 | /*! |
2 | | - * vue-virtual-scroll-list v2.0.2 |
| 2 | + * vue-virtual-scroll-list v2.0.3 |
3 | 3 | * open source under the MIT license |
4 | 4 | * https://github.com/tangbc/vue-virtual-scroll-list#readme |
5 | 5 | */ |
|
34 | 34 | return Constructor; |
35 | 35 | } |
36 | 36 |
|
37 | | - function _defineProperty(obj, key, value) { |
38 | | - if (key in obj) { |
39 | | - Object.defineProperty(obj, key, { |
40 | | - value: value, |
41 | | - enumerable: true, |
42 | | - configurable: true, |
43 | | - writable: true |
44 | | - }); |
45 | | - } else { |
46 | | - obj[key] = value; |
47 | | - } |
48 | | - |
49 | | - return obj; |
50 | | - } |
51 | | - |
52 | | - function ownKeys(object, enumerableOnly) { |
53 | | - var keys = Object.keys(object); |
54 | | - |
55 | | - if (Object.getOwnPropertySymbols) { |
56 | | - var symbols = Object.getOwnPropertySymbols(object); |
57 | | - if (enumerableOnly) symbols = symbols.filter(function (sym) { |
58 | | - return Object.getOwnPropertyDescriptor(object, sym).enumerable; |
59 | | - }); |
60 | | - keys.push.apply(keys, symbols); |
61 | | - } |
62 | | - |
63 | | - return keys; |
64 | | - } |
65 | | - |
66 | | - function _objectSpread2(target) { |
67 | | - for (var i = 1; i < arguments.length; i++) { |
68 | | - var source = arguments[i] != null ? arguments[i] : {}; |
69 | | - |
70 | | - if (i % 2) { |
71 | | - ownKeys(Object(source), true).forEach(function (key) { |
72 | | - _defineProperty(target, key, source[key]); |
73 | | - }); |
74 | | - } else if (Object.getOwnPropertyDescriptors) { |
75 | | - Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); |
76 | | - } else { |
77 | | - ownKeys(Object(source)).forEach(function (key) { |
78 | | - Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); |
79 | | - }); |
80 | | - } |
81 | | - } |
82 | | - |
83 | | - return target; |
84 | | - } |
85 | | - |
86 | 37 | /** |
87 | 38 | * virtual list core calculating center. |
88 | 39 | */ |
|
534 | 485 | } |
535 | 486 | }; |
536 | 487 |
|
| 488 | + /** |
| 489 | + * item and slot component both use similar wrapper |
| 490 | + * we need to know their size change at any time. |
| 491 | + */ |
537 | 492 | var Wrapper = { |
538 | 493 | created: function created() { |
539 | 494 | this.hasInitial = false; |
|
578 | 533 | mixins: [Wrapper], |
579 | 534 | props: ItemProps, |
580 | 535 | render: function render(h) { |
| 536 | + var itemProps = this.extraProps || {}; |
| 537 | + itemProps.source = this.source; |
581 | 538 | return h(this.tag, { |
582 | 539 | role: 'item' |
583 | 540 | }, [h(this.component, { |
584 | | - props: _objectSpread2({}, this.extraProps, { |
585 | | - source: this.source |
586 | | - }) |
| 541 | + props: itemProps |
587 | 542 | })]); |
588 | 543 | } |
589 | 544 | }); // wrapping for slot. |
|
0 commit comments