From c57185f7317e8aa8d16539854051ed494d7e9e36 Mon Sep 17 00:00:00 2001
From: ZXLee
Date: Tue, 3 Dec 2024 21:13:20 +0800
Subject: [PATCH] v0.3.1-released
---
.../uni_modules/z-paging-x/changelog.md | 4 ++
.../components/z-paging-x/enums/index.uts | 10 ++---
.../components/z-paging-x/z-paging-x.uvue | 39 ++++++++++++++-----
.../uni_modules/z-paging-x/package.json | 5 ++-
z-paging-x/uni_modules/z-paging-x/readme.md | 34 ++++++++++------
5 files changed, 66 insertions(+), 26 deletions(-)
diff --git a/z-paging-x/uni_modules/z-paging-x/changelog.md b/z-paging-x/uni_modules/z-paging-x/changelog.md
index 582c896..ac72e5e 100644
--- a/z-paging-x/uni_modules/z-paging-x/changelog.md
+++ b/z-paging-x/uni_modules/z-paging-x/changelog.md
@@ -1,3 +1,7 @@
+## 0.3.1(2024-12-03)
+1.`新增` events:`@refresherpulling`、`@refresherrefresh`、`@refresherrestore`、`@refresherabort`、`@scrolltolower`、`@scrolltoupper`、`@refresherStatusChange`、`@loadMoreStatusChange`。
+2.`新增` slot="empty"。
+3.`新增` `scrollToTop`、`scrollToBottom`、`scrollToY`添加是否展示滚动动画参数。
## 0.3.0(2024-10-13)
1.`新增` 添加编译到web的支持。
2.`优化` 布局方式,使布局更灵活。
diff --git a/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/enums/index.uts b/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/enums/index.uts
index d812ec6..29a3019 100644
--- a/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/enums/index.uts
+++ b/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/enums/index.uts
@@ -40,33 +40,33 @@ type EnumType = {
}
export default {
- //当前加载类型 0.下拉刷新 1.上拉加载更多
+ // 当前加载类型 0.下拉刷新 1.上拉加载更多
LoadingType: {
Refresher: 0,
LoadingMore: 1
},
- //下拉刷新状态 0.默认状态 1.松手立即刷新 2.刷新中 3.刷新结束
+ // 下拉刷新状态 0.默认状态 1.松手立即刷新 2.刷新中 3.刷新结束
Refresher: {
Default: 0,
ReleaseToRefresh: 1,
Loading: 2,
Complete: 3
},
- //底部加载更多状态 0.默认状态 1.加载中 2.没有更多数据 3.加载失败
+ // 底部加载更多状态 0.默认状态 1.加载中 2.没有更多数据 3.加载失败
More: {
Default: 0,
Loading: 1,
NoMore: 2,
Fail: 3
},
- //@query触发来源 0.用户主动下拉刷新 1.通过reload触发 2.通过refresh触发 3.通过滚动到底部加载更多或点击底部加载更多触发
+ // @query触发来源 0.用户主动下拉刷新 1.通过reload触发 2.通过refresh触发 3.通过滚动到底部加载更多或点击底部加载更多触发
QueryFrom: {
UserPullDown: 0,
Reload: 1,
Refresh: 2,
LoadingMore: 3
},
- //列表缓存模式
+ // 列表缓存模式
CacheMode: {
//默认模式,只会缓存一次
Default: 'default',
diff --git a/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/z-paging-x.uvue b/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/z-paging-x.uvue
index 3817294..098a51b 100644
--- a/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/z-paging-x.uvue
+++ b/z-paging-x/uni_modules/z-paging-x/components/z-paging-x/z-paging-x.uvue
@@ -5,7 +5,7 @@
/___| | .__/ \__,_|\__, |_|_| |_|\__, |
|_| |___/ |___/ X
-v0.3.0 (2024-07-08)
+v0.3.1 (2024-12-03)
by ZXLee
-->
@@ -21,7 +21,7 @@ by ZXLee
@@ -36,14 +36,15 @@ by ZXLee
-
-
+
+
+
@@ -341,7 +342,13 @@ by ZXLee
watch: {
totalData(newVal: any[]) {
this.$emit('update:modelValue', newVal);
- }
+ },
+ refresherStatus(newVal: number) {
+ this.$emit('refresherStatusChange', newVal);
+ },
+ loadMoreStatus(newVal: number) {
+ this.$emit('loadMoreStatusChange', newVal);
+ },
},
mounted() {
this.$zpxList = this.$refs['zpxList'] as UniElement;
@@ -476,16 +483,30 @@ by ZXLee
},
// 下拉刷新控件被下拉事件
_onRefresherpulling(e: RefresherEvent) {
+ this.$emit('refresherpulling', e);
this.refresherStatus = e.detail.dy < this.finalRefresherThreshold ? Enum.Refresher.Default : Enum.Refresher.ReleaseToRefresh;
},
// 下拉刷新被触发事件
- _onRefresherrefresh(_: RefresherEvent) {
- this.$emit('refresh');
+ _onRefresherrefresh(e: RefresherEvent) {
+ this.$emit('refresherrefresh', e);
this._handleRefresh();
},
+ // 下拉刷新被复位事件
+ _onRefresherrestore(e: RefresherEvent) {
+ this.$emit('refresherrestore', e);
+ },
+ // 下拉刷新被中止事件
+ _onRefresherabort(e: RefresherEvent) {
+ this.$emit('refresherabort', e);
+ },
// 滚动到底部事件
- _onScrolltolower() {
+ _onScrolltolower(e: ScrollToLowerEvent) {
this._handleLoadMore();
+ this.$emit('scrolltolower', e);
+ },
+ // 滚动到顶部事件
+ _onScrolltoupper(e: ScrollToUpperEvent) {
+ this.$emit('scrolltoupper', e);
},
// 列表正在滚动事件
_onScroll(e: ScrollEvent) {
diff --git a/z-paging-x/uni_modules/z-paging-x/package.json b/z-paging-x/uni_modules/z-paging-x/package.json
index a3b9208..d4987c7 100644
--- a/z-paging-x/uni_modules/z-paging-x/package.json
+++ b/z-paging-x/uni_modules/z-paging-x/package.json
@@ -2,7 +2,7 @@
"id": "z-paging-x",
"name": "z-paging-x",
"displayName": "【z-paging-x下拉刷新、上拉加载】z-paging uniappx版已上线!",
- "version": "0.3.0",
+ "version": "0.3.1",
"description": "分页全自动处理,支持自定义下拉刷新、上拉加载更多、自动管理空数据图、点击返回顶部、下拉显示最后更新时间等,持续完善中",
"keywords": [
"uniapp-x",
@@ -50,6 +50,9 @@
"vue3": "y"
},
"App": {
+ "app-android": "u",
+ "app-harmony": "u",
+ "app-ios": "u"
},
"H5-mobile": {
"Safari": "u",
diff --git a/z-paging-x/uni_modules/z-paging-x/readme.md b/z-paging-x/uni_modules/z-paging-x/readme.md
index 9d21349..16f85eb 100644
--- a/z-paging-x/uni_modules/z-paging-x/readme.md
+++ b/z-paging-x/uni_modules/z-paging-x/readme.md
@@ -4,6 +4,7 @@
+
请注意,此插件仅支持uniappx!!!若您为uniapp项目请使用z-paging!
> z-paging uniapp x版
@@ -89,8 +90,11 @@ npm update z-paging-x
```
### props
+
#### 支持全局配置(非必须)
+
在`main.uts`中
+
```uts
import { setZPXConfig } from '@/uni_modules/z-paging-x/components/z-paging-x/config/index.uts'
@@ -127,8 +131,9 @@ setZPXConfig({
| nested-scroll-child | (仅listIs = scroll-view有效)嵌套滚动子元素的id属性,不支持ref,scroll-view惯性滚动时会让对应id元素视图进行滚动,子元素滚动时会触发scroll-view的`nestedprescroll`事件,嵌套子元素需要设置`custom-nested-scroll` = true | String | '' | - |
#### reload相关配置
-| 参数 | 说明 | 类型 | 默认值 | 可选值 |
-| :----------------------------- | :----------------------------------------------------------- | :------ | :----- | :----- |
+
+| 参数 | 说明 | 类型 | 默认值 | 可选值 |
+| :------------------------ | :----------------------------------------------------------- | :------ | :----- | :----- |
| scroll-to-top-when-reload | reload时自动滚动到顶部(如果reload时list被清空导致占位消失也可能会自动返回到顶部,因此如果是这种情况还需要将`clean-list-when-reload`设置为false) | Boolean | true | false |
| clean-list-when-reload | reload时立即自动清空原list,若立即自动清空,则在reload之后、请求回调之前页面是空白的 | Boolean | true | false |
@@ -176,12 +181,19 @@ setZPXConfig({
### events
-| 事件名 | 说明 | 回调参数 |
-| --------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
-| @query | 下拉刷新或滚动到底部时会自动触发此方法。`z-paging-x`加载时也会触发(若要禁止,请设置`:auto="false"`)。pageNo和pageSize会自动计算好,直接传给服务器即可。 | `参数1`:pageNo(当前第几页);
`参数2`:pageSize(每页多少条)(pageSize必须与传给服务器的一致,如果需要修改pageSize,请通过`:default-page-size="15"`修改) |
-| @refresh | 下拉刷新被触发 | - |
-| @scroll | 列表滚动时触发 | `参数1`:(event: [ScrollEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#scrollevent)) => void |
-| @backToTopClick | 点击了返回到顶部 | 点击返回顶部按钮后是否滚动到顶部,默认为是。
如果需要禁止滚动到顶部事件,则在page的methods中书写:backToTopClick(e: (toTop: boolean) => void) {
e(false);
//处理自己的业务逻辑
}
|
+| 事件名 | 说明 | 回调参数 |
+| ---------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
+| @query | 下拉刷新或滚动到底部时会自动触发此方法。`z-paging-x`加载时也会触发(若要禁止,请设置`:auto="false"`)。pageNo和pageSize会自动计算好,直接传给服务器即可。 | `参数1`:pageNo(当前第几页);
`参数2`:pageSize(每页多少条)(pageSize必须与传给服务器的一致,如果需要修改pageSize,请通过`:default-page-size="15"`修改) |
+| @refresherpulling | 下拉刷新控件被下拉事件 | `参数1`:(event: [RefresherEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#unirefresherevent) => void |
+| @refresherrefresh | 下拉刷新被触发事件 | `参数1`:(event: [RefresherEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#unirefresherevent) => void |
+| @refresherrestore | 下拉刷新被复位事件 | `参数1`:(event: [RefresherEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#unirefresherevent) => void |
+| @refresherabort | 下拉刷新被中止事件 | `参数1`:(event: [RefresherEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#unirefresherevent) => void |
+| @scroll | 列表滚动时触发 | `参数1`:(event: [ScrollEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#uniscrollevent)) => void |
+| @scrolltolower | 滚动到底部/右边,会触发 scrolltolower 事件 | `参数1`:(event: [ScrollToLowerEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#uniscrolltolowerevent)) => void |
+| @scrolltoupper | 滚动到顶部/左边,会触发 scrolltoupper 事件 | `参数1`:(event: [ScrollToUpperEvent](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html#uniscrolltoupperevent)) => void |
+| @backToTopClick | 点击了返回到顶部 | 点击返回顶部按钮后是否滚动到顶部,默认为是。
如果需要禁止滚动到顶部事件,则在page的methods中书写:backToTopClick(e: (toTop: boolean) => void) {
e(false);
//处理自己的业务逻辑
}
|
+| @refresherStatusChange | 下拉刷新状态改变 | `参数1`:下拉刷新状态:0.默认状态 1.松手立即刷新 2.刷新中 3.刷新结束 |
+| @loadMoreStatusChange | 底部加载更多状态改变 | `参数1`:底部加载更多状态:0.默认状态 1.加载中 2.没有更多数据 3.加载失败 |
### methods
@@ -192,9 +204,9 @@ setZPXConfig({
| completeByTotal | 【通过total判断是否有更多数据】请求成功调用此方法(将此方法替换`complete`方法即可,此方法为`complete`方法的功能扩展,遵循`complete`原有规则) | `参数1(必填)`:请求结果数组;`参数2(必填)`:列表总长度; |
| completeByNoMore | 【自行判断是否有更多数据】请求结束(成功或者失败)调用此方法,将请求的结果传递给z-paging-x处理(将此方法替换`complete`方法即可,此方法为`complete`方法的功能扩展,遵循`complete`原有规则) | `参数1(必填)`:请求结果数组;`参数2(必填)`:是否没有更多数据,若为true则代表没有更多数据了; |
| completeByError | 请求结束(失败)调用此方法,将自动展示失败页面 | - |
-| scrollToTop | 滚动到顶部 | - |
-| scrollToBottom | 滚动到底部 | - |
-| scrollToY | 滚动到指定位置 | `参数1(必填)`:滚动到的位置 |
+| scrollToTop | 滚动到顶部 | `参数1(必填)`:是否有动画效果 |
+| scrollToBottom | 滚动到底部 | `参数1(必填)`:是否有动画效果 |
+| scrollToY | 滚动到指定位置 | `参数1(必填)`:滚动到的位置;`参数2(必填)`:是否有动画效果 |
### slots