From b87e116808fdcae6106674ed2bc72cf7cd336e90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Wed, 26 Nov 2025 19:50:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(notifications):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E5=9F=BA=E4=BA=8E=E6=97=A5=E6=9C=9F=E7=9A=84=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E5=88=86=E9=A1=B5=E5=8A=A0=E8=BD=BD=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 NotificationListData 类,将 startNum/endNum 替换为 startDate/endDate - 更新 API 配置,将接口地址改为 getMsgListByDate 并开启日志显示 - 在 NotificationListView 中新增日期状态管理及加载更多控制逻辑 - 实现双数据源的通知消息获取与合并去重逻辑 - 添加通知内容数字合并处理功能,优化用户体验 - 升级 RefreshView 组件以支持可控制的加载更多行为 --- src/main/ets/view/refresh/RefreshView.ets | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/ets/view/refresh/RefreshView.ets b/src/main/ets/view/refresh/RefreshView.ets index 5dbcdd9..d9301a2 100644 --- a/src/main/ets/view/refresh/RefreshView.ets +++ b/src/main/ets/view/refresh/RefreshView.ets @@ -11,6 +11,9 @@ export struct RefreshView { init: boolean = true // 第一次加载完成,是否定位到底部,默认`false`,定位到顶部 positioningToBottom: boolean = false + // 自动计算是否加载更多,默认`default`。如果data的数据量可以被pageSize整除,则触发加载更多 + // 'allow' 触发loadMore, ’not' 不触发loadMore + @Prop canLoadMore: 'default' | 'allow' | 'not' = 'default' pageSize: number = 10 onLoadMore?: (pageNum: number) => void onRefresh?: () => void @@ -148,7 +151,7 @@ export struct RefreshView { this.endY = e1.y if (this.endY - this.startY < -100 && this._openMore) { const v = this.data && (this.data.length % this.pageSize) === 0 - if (v) { + if ((v && this.canLoadMore == 'default') || this.canLoadMore == 'allow') { const cTime = new Date().getTime() // 2024.11.21 测试觉得刷新太多了,暂时改为1秒5间隔 if (cTime - this._oTime > 1500) {