// pages/index/components/listDetails/Details.js const app = getApp() const $request = require('../../../../utils/request.js'); const $util = require('../../../../utils/util.js'); Page({ /** * 页面的初始数据 */ data: { // 页面Loading pageLoading: false, // 路由接受的参数 currentData: {}, // 感兴趣的需求---- // item行加载 itemLoading: false, // 数据是否加载完成 isFinished: false, listData: [], page: 1, size: 10, total: 0, // 是否加载数据,true加载,false不加载 onRefresh: true, currentIndex: 0, }, /** * 生命周期函数--监听页面加载 */ onLoad(option) { const eventChannel = this.getOpenerEventChannel() // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据 eventChannel.on('acceptDataFromOpenerPage', data => { this.setData({ currentData: data.listDetail, type: data.listDetail.type.join(), pageLoading: true, }) this.getListData(); }) }, // 热门详情点击 goDetails(e){ this.setData({ currentData: e.detail, type: e.detail.type.join(), pageLoading: true, listData:[], page:1, onRefresh:true, }) this.getListData(); }, // 获取list数据 getListData() { let { page, size, type } = this.data; $request.get('/businessCommunicationDemand/getDemandByKeywordOrType.action', { page, size, type, isInterest: 1 } ).then(res => { this.setData({ pageLoading: false, }) let tempListData = this.data.listData; if (res.status == 0) { let datas = res.data; // 先push数据 tempListData.push(...datas.demandList); tempListData.forEach(el => { el.createdOn = $util.formatTime(new Date(el.createdOn), true); if (typeof el.type == 'string') { el.type = el.type.split(','); } }) // 设置总数 this.setData({ listData: tempListData, total: res.data.total, }) // 如果数据大于了返回的总数 if (tempListData.length >= this.data.total) { // 停止累加数据 this.setData({ onRefresh: false, itemLoading: false, isFinished: true, }) } else { this.setData({ onRefresh: true, itemLoading: false, isFinished: false, page: page + 1 }) } console.log('-------------详情页 beg-------------------') console.log(this.data.listData); console.log('-------------详情页 end-------------------') } }).catch(error => { console.log(error, 'error appletLogin') }) }, /* * 页面上拉触底事件的处理函数 */ onReachBottom() { if (this.data.onRefresh) { this.setData({ itemLoading: true }) this.getListData(); } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })