diff --git a/miniprogram/pageage/project_train/list/index.js b/miniprogram/pageage/project_train/list/index.js index 7bfc2c0..db14de4 100644 --- a/miniprogram/pageage/project_train/list/index.js +++ b/miniprogram/pageage/project_train/list/index.js @@ -15,12 +15,16 @@ Page({ initData: {}, show:false, listData:[], + displayListData: [], // 用于显示的数据 trainType:"", title:"", minTitle:"", - request:app.globalData.reqUrl + request:app.globalData.reqUrl, + currentPage: 1, // 当前页码 + pageSize: 20, // 每页显示条数 + totalPage: 0, // 总页数 + isLoading: false // 是否正在加载 }, - onClose(){ this.setData({ show: false }); }, @@ -95,13 +99,20 @@ Page({ }, method: "get", success: function (res) { + // 计算总页数 + const total = res.data.data.length; + const pageSize = that.data.pageSize; + const totalPage = Math.ceil(total / pageSize); + that.setData({ - listData:res.data.data + listData: res.data.data, + totalPage: totalPage, + displayListData: res.data.data.slice(0, pageSize), + currentPage: 1 }) } }) }, - returnToPage: function () { /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/ if(wx.getStorageSync('nav-menu')=="gd"){ @@ -156,16 +167,49 @@ Page({ * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { - + // 下拉刷新,重新加载第一页数据 + this.getListData(this.data.projectId, this.data.deptId, this.data.trainType); + wx.stopPullDownRefresh(); // 停止下拉刷新 }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { - + this.loadMoreData(); }, + /** + * 加载更多数据 + */ + loadMoreData() { + // 如果正在加载或已到最后一页,则不再加载 + if (this.data.isLoading || this.data.currentPage >= this.data.totalPage) { + return; + } + + this.setData({ + isLoading: true + }); + + // 使用 setTimeout 模拟网络请求延迟 + setTimeout(() => { + const nextPage = this.data.currentPage + 1; + const pageSize = this.data.pageSize; + const startIndex = (nextPage - 1) * pageSize; + const endIndex = Math.min(startIndex + pageSize, this.data.listData.length); + + // 从完整数据中取出下一页的数据 + const nextData = this.data.listData.slice(startIndex, endIndex); + const newData = [...this.data.displayListData, ...nextData]; + + this.setData({ + displayListData: newData, + currentPage: nextPage, + isLoading: false + }); + }, 300); // 减少模拟延迟时间 + }, /** * 用户点击右上角分享 */ diff --git a/miniprogram/pageage/project_train/list/index.json b/miniprogram/pageage/project_train/list/index.json index c38e268..0bf64cc 100644 --- a/miniprogram/pageage/project_train/list/index.json +++ b/miniprogram/pageage/project_train/list/index.json @@ -1,7 +1,10 @@ { "usingComponents": { "van-overlay": "@vant/weapp/overlay/index" , - "van-popup": "@vant/weapp/popup/index" + "van-popup": "@vant/weapp/popup/index", + "van-loading": "@vant/weapp/loading/index" }, - "navigationStyle":"custom" + "navigationStyle":"custom", + "enablePullDownRefresh": true, + "backgroundTextStyle": "dark" } \ No newline at end of file diff --git a/miniprogram/pageage/project_train/list/index.wxml b/miniprogram/pageage/project_train/list/index.wxml index f6b76ab..21ccd51 100644 --- a/miniprogram/pageage/project_train/list/index.wxml +++ b/miniprogram/pageage/project_train/list/index.wxml @@ -14,7 +14,7 @@ - + @@ -39,12 +39,22 @@ - + 暂无数据 + + + 加载中... + + + 上拉加载更多 + + + 没有更多数据了 + @@ -52,11 +62,4 @@ 新增 - - - - - - - - + \ No newline at end of file