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