|
@@ -7,6 +7,7 @@ module.exports = Behavior({
|
|
|
pageNo: 1,
|
|
|
totalSize: 0,
|
|
|
noMoreData: false,
|
|
|
+ mainList: []
|
|
|
},
|
|
|
methods: {
|
|
|
async getData(fn, args) {
|
|
@@ -51,11 +52,61 @@ module.exports = Behavior({
|
|
|
noMoreData: list.length >= totalSize
|
|
|
})
|
|
|
},
|
|
|
+
|
|
|
+ async localGetData(fn, args) {
|
|
|
+ let mainList = this.data.mainList
|
|
|
+ let list = this.data.list
|
|
|
+ let params = {
|
|
|
+ pageNo: this.data.pageNo,
|
|
|
+ pageSize: 100,
|
|
|
+ ...args
|
|
|
+ }
|
|
|
+ if (mainList.length == 0) {
|
|
|
+
|
|
|
+ this.setData({
|
|
|
+ loading: true,
|
|
|
+ nullList: false
|
|
|
+ })
|
|
|
+ let res = await fn(params).finally(() => {
|
|
|
+
|
|
|
+ wx.nextTick(() => {
|
|
|
+ this.setData({
|
|
|
+ loading: false
|
|
|
+ })
|
|
|
+ });
|
|
|
+ })
|
|
|
+ mainList = res.list
|
|
|
+ list = mainList.slice(0, this.data.pageNo * 6)
|
|
|
+ if (list.length == 0) {
|
|
|
+ this.setData({
|
|
|
+ nullList: true
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.setData({
|
|
|
+ nullList: false
|
|
|
+ })
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ pageNo: ++this.data.pageNo,
|
|
|
+ mainList,
|
|
|
+ list,
|
|
|
+ })
|
|
|
+ } else if (mainList.length != 0 && mainList.length > list.length) {
|
|
|
+ list = this.data.mainList.slice(0, this.data.pageNo * 6)
|
|
|
+ this.setData({
|
|
|
+ pageNo: ++this.data.pageNo,
|
|
|
+ mainList,
|
|
|
+ list,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
resetData(data) {
|
|
|
if (this.data.loading) return;
|
|
|
this.setData({
|
|
|
loading: false,
|
|
|
list: [],
|
|
|
+ mainList: [],
|
|
|
pageNo: 1,
|
|
|
totalSize: 0,
|
|
|
noMoreData: false,
|