fix(Swipe): item should only rendered once (#7466)

This commit is contained in:
neverland
2020-11-01 10:47:09 +08:00
committed by GitHub
parent faefd7ec85
commit 818192c1c8
2 changed files with 15 additions and 13 deletions
+10 -3
View File
@@ -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;
},
},