From 15f5cd79443f8ed4c1097a2443e9b625919da3fc Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Fri, 02 Apr 2021 16:01:48 +0800 Subject: [PATCH] 无限滚动与日期范围组件,显示行为优化 --- plugins/infiniteScroll/CInfiniteScroll.vue | 87 ++++++++++++++++++++++--------------------- 1 files changed, 45 insertions(+), 42 deletions(-) diff --git a/plugins/infiniteScroll/CInfiniteScroll.vue b/plugins/infiniteScroll/CInfiniteScroll.vue index 9792580..b1ca855 100644 --- a/plugins/infiniteScroll/CInfiniteScroll.vue +++ b/plugins/infiniteScroll/CInfiniteScroll.vue @@ -126,47 +126,49 @@ // 开始加载 this.inital = true; this.loading = true; - this.onLoadMore({ - current: this.current, - next: this.current + 1, - // 加载成功 - success: options => { - setTimeout(() => { - this.loading = false; - // 没有数据 - if (!options.pageTotal || options.pageTotal <= 0) { - this.ending = true; - } - // 有数据 - else { - this.pageTotal = options.pageTotal; - this.current = this.current + 1; - // 已到最后一页 - if (this.current >= this.pageTotal) { + setTimeout(() => { + this.onLoadMore({ + current: this.current, + next: this.current + 1, + // 加载成功 + success: options => { + this.$nextTick(() => { + this.loading = false; + // 没有数据 + if (!options.pageTotal || options.pageTotal <= 0) { this.ending = true; } - } - // 还原下拉 + // 有数据 + else { + this.pageTotal = options.pageTotal; + this.current = this.current + 1; + // 已到最后一页 + if (this.current >= this.pageTotal) { + this.ending = true; + } + } + // 如果下拉刷新,还原下拉 + if (this.touch.dargState === 2) { + this.touch.driftTop = 0; + setTimeout(() => { + this.touch.dargState = 0; + }, 300); + } + }); + }, + // 加载失败 + fail: () => { + this.loading = false; + // 如果下拉刷新,还原下拉 if (this.touch.dargState === 2) { this.touch.driftTop = 0; setTimeout(() => { this.touch.dargState = 0; }, 300); } - }, 100); - }, - // 加载失败 - fail: () => { - this.loading = false; - // 还原下拉 - if (this.touch.dargState === 2) { - this.touch.driftTop = 0; - setTimeout(() => { - this.touch.dargState = 0; - }, 300); - } - }, - }); + }, + }); + }, 100); }, onScroll(evt) { // 已经滚动(滚动后禁止下拉刷新) @@ -195,14 +197,6 @@ // 小程序中滚动到底部 onScrollToLower() { if (process.env.TARO_ENV !== 'weapp') { - return; - } - this.hanldeLoadMore(); - }, - // 初始加载 - initScroll() { - // 已初始化,跳过 - if (this.inital) { return; } this.hanldeLoadMore(); @@ -292,7 +286,16 @@ } } }, - refresh() { + // 初始加载 + $initScroll() { + // 已初始化,跳过 + if (this.inital) { + return; + } + this.hanldeLoadMore(); + }, + // 刷新加载 + $refresh() { this.ending = false; this.current = 0; this.hanldeLoadMore(); -- Gitblit v1.9.1