在实际开发中,我在wxml文件布局中,主要有数据遍历列表,是否有记录提示,加载提示。
layer-top 和 layer-bottom 块补充主要是因为小程序整个页面刷新端是page,因此layer-top,layer-bottom补充才有利于上拉加载减少误差。
pageLoading 主要用于页面加载数据缓慢,出现假数据的情况,设置新的数据多少会出现延时的,当延时再重新切换正常数据,用户视觉体验会有些不好。
< view class = "g-doc" hidden = "{{pageLoading}}" > < view class = "g-hd" > tab </ view > < view class = "g-bd" > <!-- layer-top 等同于 g-hd的高度 --> < view class = "layer-top" ></ view > < block wx:if = "{{dataList.length}}" > <block wx:for = "{{dataList}}" wx:key = "*this" > {{item}} </ block > <!-- 加载条 start --> < view class = "weui-loadmore" hidden = "{{!loadBar.Loading}}" > < view class = "weui-loading" ></ view > < view class = "weui-loadmore__tips" >加载中</ view > </ view > < view class = "weui-loadmore" hidden = "{{loadBar.Loading}}" > < view class = "weui-loadmore__tips" hidden = '{{!loadBar.more}}' >加载更多</ view > < view class = "weui-loadmore__tips" hidden = '{{loadBar.more}}' >没有更多了</ view > </ view > <!-- 加载条 end --> </ block > < block wx:else> 暂无记录 </ block > <!-- layer-top 等同于 g-ft 的高度 --> < view class = "layer-bottom" ></ view > </ view > < view class = "g-ft" > add </ view > </ view > |
在JSON中
"backgroundTextStyle": "dark", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "单页",
|
在js中
var onLoadNumber = 1; Page({ data: { pageLoading: true , page: 1, pageSize: 20, dataList: [ // {} ], loadBar:{ Loading: false , more: true } }, onLoad: function (options) { var self = this ; try { self.dataLayer(); setTimeout(()=>{ self.setData({ pageLoading: false }) },300) } catch (e) { } }, /** *下拉刷新 **/ onPullDownRefresh: function () { var self = this ; self.setData({ page: 1 }); self.dataLayer( function (isData) { setTimeout(() => { wx.stopPullDownRefresh() //停止下拉刷新 }, 800); }); }, dataLayer: function (callback) { var self = this ; var url = "api/api.do" ; var page = self.data.page; var pageSize = self.data.pageSize; let data = { page: page, pageSize: pageSize, } var loadBar = self.data.loadBar || {}; loadBar.Loading = true ; // 加载中 self.setData({ loadBar: loadBar }); wx.request({ url: url, data: data, header: { 'content-type' : 'application/json' // 默认值 }, method: "GET" , success: function (res) { loadBar.Loading = false ; // 加载完毕 self.setData({ loadBar: loadBar }) let data = res.data; // { object :{ rows:[] ,records:0}} let obj = data.object || {}; let rows = obj.rows || []; let isData = (pageSize >= rows.length) ? true : false ; var records = obj.records; if (!rows.length){ if(page> 1){ isData = false; } } if (!!callback) { callback(isData); } if (page > 1) { let dataList = self.data.dataList; let newRows = dataList.concat(rows); loadBar.more = !(records <= newRows.length); // 判断是否还有数据 self.setData({ dataList: newRows, loadBar: loadBar }); } else { loadBar.more = !(records <= rows.length); // 判断是否还有数据 self.setData({ dataList: rows, loadBar: loadBar }); } }, fail: function (err) { if (!!callback) { callback(); } } }); }, /** 上拉加载 **/ onReachBottom: function () { var self = this ; var page = self.data.page; self.setData({ page: ++page }) let pageSize = self.data.pageSize; let dataList = self.data.dataList; if (dataList.length < pageSize) { console.log( "数量太小,不需要上拉" ) return false ; } self.dataLayer( function (isData) { if (!isData) { // 没有数据应减回去 self.setData({ page: --page }) } }); }, }); |
css 可参考,毕竟业务开发中css还是有所差异的
.g-doc, page { width : 100% ; height : 100% ; position : relative ; } .g-doc { width : 100% ; height : 100% ; position : relative ; display : -webkit-box; -webkit-box-orient: vertical; flex-flow: column; } .layer- top { height : 50px ; } .layer- bottom { height : 50px ; } .g-bd { width : 100% ; background : transparent ; -webkit-box-flex: 1 ; flex: 1 ; margin-bottom : 50px ; } .g-ft { width : 100% ; bottom : 0 ; position : fixed ; } |
例图:
【急】第三方小程序通过审核后未收到服务器消息推送
https://developers.weixin.qq.com/community/develop/doc/00062ce2870a6826e067b926e56000
三方平台小程序审核结果问题
https://developers.weixin.qq.com/community/develop/doc/0000e829ea8c4816d7676272356c00
开放平台部分appid不推送审核状态消息
https://developers.weixin.qq.com/community/develop/doc/000eca8d83c0e0c3ec67753735b000
第三方平台 没有收到小程序审核成功通知
https://developers.weixin.qq.com/community/develop/doc/000a4462a0c588fca36762c175b400?highline=%E5%AE%A1%E6%A0%B8%E6%8E%A8%E9%80%81
第三方小程序审核未通过,审核结果没有异步通知
https://developers.weixin.qq.com/community/develop/doc/000e461d1785188bae578d1625f400
已经要疯了吗。。