fix(Swipe): item should only rendered once (#7466)
This commit is contained in:
+10
-3
@@ -9,6 +9,7 @@ export default createComponent({
|
||||
data() {
|
||||
return {
|
||||
offset: 0,
|
||||
inited: false,
|
||||
mounted: false,
|
||||
};
|
||||
},
|
||||
@@ -34,9 +35,9 @@ export default createComponent({
|
||||
},
|
||||
|
||||
shouldRender() {
|
||||
const { index, parent, mounted } = this;
|
||||
const { index, inited, parent, mounted } = this;
|
||||
|
||||
if (!parent.lazyRender) {
|
||||
if (!parent.lazyRender || inited) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -49,8 +50,14 @@ export default createComponent({
|
||||
const maxActive = parent.count - 1;
|
||||
const prevActive = active === 0 && parent.loop ? maxActive : active - 1;
|
||||
const nextActive = active === maxActive && parent.loop ? 0 : active + 1;
|
||||
const shouldRender =
|
||||
index === active || index === prevActive || index === nextActive;
|
||||
|
||||
return index === active || index === prevActive || index === nextActive;
|
||||
if (shouldRender) {
|
||||
this.inited = true;
|
||||
}
|
||||
|
||||
return shouldRender;
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
Reference in New Issue
Block a user