Skip to content

Commit 547cf52

Browse files
AousAnwarAkryum
andauthored
feat: new disableTransform prop to use top/left instead of translate (#138)
Co-authored-by: Guillaume Chau <[email protected]>
1 parent 2bd549d commit 547cf52

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

packages/vue-virtual-scroller/src/components/RecycleScroller.vue

+17-6
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,21 @@
2727
:class="listClass"
2828
>
2929
<component
30-
ref="items"
3130
:is="itemTag"
3231
v-for="view of pool"
32+
ref="items"
3333
:key="view.nr.id"
34-
:style="ready ? {
35-
transform: `translate${direction === 'vertical' ? 'Y' : 'X'}(${view.position}px) translate${direction === 'vertical' ? 'X' : 'Y'}(${view.offset}px)`,
36-
width: gridItems ? `${direction === 'vertical' ? itemSecondarySize || itemSize : itemSize}px` : undefined,
37-
height: gridItems ? `${direction === 'horizontal' ? itemSecondarySize || itemSize : itemSize}px` : undefined,
38-
} : null"
34+
:style="ready
35+
? [
36+
(disableTransform
37+
? { [direction === 'vertical' ? 'top' : 'left'] : `${view.position}px`, willChange: 'unset' }
38+
: { transform: `translate${direction === 'vertical' ? 'Y' : 'X'}(${view.position}px) translate${direction === 'vertical' ? 'X' : 'Y'}(${view.offset}px)` }),
39+
{
40+
width: gridItems ? `${direction === 'vertical' ? itemSecondarySize || itemSize : itemSize}px` : undefined,
41+
height: gridItems ? `${direction === 'horizontal' ? itemSecondarySize || itemSize : itemSize}px` : undefined,
42+
}
43+
]
44+
: null"
3945
class="vue-recycle-scroller__item-view"
4046
:class="[
4147
itemClass,
@@ -149,6 +155,11 @@ export default {
149155
default: false,
150156
},
151157
158+
disableTransform: {
159+
type: Boolean,
160+
default: false,
161+
},
162+
152163
updateInterval: {
153164
type: Number,
154165
default: 0,

0 commit comments

Comments
 (0)