From d081633849caaddf338f2904f9bb9469bdc5c58d Mon Sep 17 00:00:00 2001 From: Donald Shen <825870831@qq.com> Date: Mon, 21 Oct 2019 11:47:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20content=E5=92=8CtotalPages=E7=9A=84?= =?UTF-8?q?=E6=9F=90=E4=BA=9B=E7=BB=84=E5=90=88=E4=BC=9A=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E6=97=A0=E9=99=90loading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data-list.vue | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/data-list.vue b/src/data-list.vue index 4819a36..94892dd 100644 --- a/src/data-list.vue +++ b/src/data-list.vue @@ -203,7 +203,8 @@ export default { const action = isDirectionDown ? 'push' : 'unshift' this.list[action](...data) - if (!!this.list.length) $state.loaded() + if (this.list.length === 0) return $state.complete() + $state.loaded() /** * 请求完loaded事件 * @property {array} list - 列表数据 @@ -211,10 +212,16 @@ export default { */ this.$emit('loaded', [...this.list], resp) - const totalPages = _get(resp, this.totalPagesPath, 0) + /** + * data-list约定后端返回的页码范围是 defaultFirstPage ~ totalPages + * 如果没有 totalPage 或 page 越界但仍有数据(nextPage > totalPages || prevPage < defaultFirstPage) + * data-list只能立即complete + */ + const totalPages = _get(resp, this.totalPagesPath, null) if ( - (isDirectionDown && this.nextPage === totalPages) || - (!isDirectionDown && this.prevPage === defaultFirstPage) + totalPages === null || + (isDirectionDown && this.nextPage >= totalPages) || + (!isDirectionDown && this.prevPage <= defaultFirstPage) ) { $state.complete() /** From a4f6f906afbe9dd81dfaffba155c7fa5f43095a0 Mon Sep 17 00:00:00 2001 From: Donald Shen <825870831@qq.com> Date: Mon, 21 Oct 2019 11:53:39 +0800 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20=E8=A1=A5=E5=85=85warning?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/data-list.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/data-list.vue b/src/data-list.vue index 94892dd..60bf3fd 100644 --- a/src/data-list.vue +++ b/src/data-list.vue @@ -218,6 +218,8 @@ export default { * data-list只能立即complete */ const totalPages = _get(resp, this.totalPagesPath, null) + if (totalPages === null) + console.warn('totalPages 字段不存在,请传入正确的 totalPagesPath') if ( totalPages === null || (isDirectionDown && this.nextPage >= totalPages) || From 09d76354fc459551d248dfc1004113fb37d1cb66 Mon Sep 17 00:00:00 2001 From: levy Date: Mon, 21 Oct 2019 14:27:03 +0800 Subject: [PATCH 3/3] Update data-list.vue --- src/data-list.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/data-list.vue b/src/data-list.vue index 60bf3fd..158cf42 100644 --- a/src/data-list.vue +++ b/src/data-list.vue @@ -214,7 +214,7 @@ export default { /** * data-list约定后端返回的页码范围是 defaultFirstPage ~ totalPages - * 如果没有 totalPage 或 page 越界但仍有数据(nextPage > totalPages || prevPage < defaultFirstPage) + * 如果没有 totalPages 或 page 越界但仍有数据(nextPage > totalPages || prevPage < defaultFirstPage) * data-list只能立即complete */ const totalPages = _get(resp, this.totalPagesPath, null)