From 5b96c7acb0ac3f5f964f41587c89597a7108a832 Mon Sep 17 00:00:00 2001 From: landluck Date: Fri, 2 Dec 2022 10:19:26 +0800 Subject: [PATCH] fix(tab): fix maximum call stack on scroll (#5125) --- packages/mixins/page-scroll.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/mixins/page-scroll.ts b/packages/mixins/page-scroll.ts index 91d587b6..03ebea7f 100644 --- a/packages/mixins/page-scroll.ts +++ b/packages/mixins/page-scroll.ts @@ -20,7 +20,6 @@ function onPageScroll(event?: IPageScrollOption) { }); } - export function pageScrollMixin(scroller: Scroller) { return Behavior({ attached(this: WechatMiniprogram.Component.TrivialInstance) { @@ -34,7 +33,7 @@ export function pageScrollMixin(scroller: Scroller) { const { vanPageScroller = [] } = page; - if (!vanPageScroller.length && isFunction(page.onPageScroll)) { + if (isFunction(page.onPageScroll) && page.onPageScroll !== onPageScroll) { vanPageScroller.push(page.onPageScroll.bind(page)); } @@ -55,7 +54,7 @@ export function pageScrollMixin(scroller: Scroller) { const { vanPageScroller } = page; - const index = vanPageScroller.findIndex(v => v === this._scroller); + const index = vanPageScroller.findIndex((v) => v === this._scroller); if (index > -1) { page.vanPageScroller.splice(index, 1);