html52.com
我爱小程序-开发者交流社区

setData 怎样设置数据路径?

我的数据页面分页显示,每次显示5条数据,如果有一页数据不满5条,只有一条,下次刷新的时候,拿到了7条数据,怎样调用一次setdata把7条的前四条放到上一页的数组里,剩下的三条才放在新的一页的数组?因为后的返回数据的时候会把当前页剩余的数据和下一页的数据一起返回,下面是我的实现方式,但是这样写太繁琐了,小程序的数据路径能不能向设置属性一样的去设置,像这样:setDataModel.['product[' + (Number(that.data.pageIndex)) + '][1]']=[];这样就可以在循环里拼接了

const data = JSON.parse(rspn.data.Content);

          const newPageData = [];

          for (var i = that.data.product[that.data.pageIndex].length; i < data.length; i++) {

            newPageData[i - that.data.product[that.data.pageIndex].length] = data[i];

          }


          if (data.length > 0) {

            var setDataModel = {};

            if (that.data.product[that.data.pageIndex].length == 1) {

              if (data.length == 1) {

                setDataModel = {

                  ['product[' + (Number(that.data.pageIndex)) + '][1]']: data[0]

                };

              } else {

                if (data.length == 2) {

                  setDataModel = {

                    ['product[' + (Number(that.data.pageIndex)) + '][1]']: data[0],

                    ['product[' + (Number(that.data.pageIndex)) + '][2]']: data[1]

                  };

                } else {

                  if (data.length == 3) {

                    setDataModel = {

                      ['product[' + (Number(that.data.pageIndex)) + '][1]']: data[0],

                      ['product[' + (Number(that.data.pageIndex)) + '][2]']: data[1],

                      ['product[' + (Number(that.data.pageIndex)) + '][3]']: data[2]

                    };

                  } else {

                    if (data.length == 4) {

                      setDataModel = {

                        ['product[' + (Number(that.data.pageIndex)) + '][1]']: data[0],

                        ['product[' + (Number(that.data.pageIndex)) + '][2]']: data[1],

                        ['product[' + (Number(that.data.pageIndex)) + '][3]']: data[2],

                        ['product[' + (Number(that.data.pageIndex)) + '][4]']: data[3]

                      };

                    } else {

                      setDataModel = {

                        ['product[' + (Number(that.data.pageIndex)) + '][1]']: data[0],

                        ['product[' + (Number(that.data.pageIndex)) + '][2]']: data[1],

                        ['product[' + (Number(that.data.pageIndex)) + '][3]']: data[2],

                        ['product[' + (Number(that.data.pageIndex)) + '][4]']: data[3],

                        ['product[' + (Number(that.data.pageIndex) + 1) + ']']: newPageData

                      }

                    }

                  }

                }

              }

            }



网友回复

dreamhunter:

一般分页处理的话,每次显示5条数据前提下,每次返回的数据集也不会大于5条记录

读书人。:

这个分页逻辑 没看懂呀

sin:

分页没有做好,后端应该处理好再返回给前端

文件助手:

你这有点复杂啊,我也不太会

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付