微信小程序:invokeWebviewMethod数据过长报错

问题小程序setData:单次设置不能超过1024kb;

一般出现情况,上滑动列表加载更多数据时,动态加入数组元素

例如将新数组与渲染数组合并;

解决办法:

利用小程序提供的思路

// 对于对象或数组字段,可以直接修改一个其下的子字段,这样做通常比修改整个对象或数组更好;

实现demo

//wxml

  
    第{{arrIndex}}组数据
    {{arrItem.name}}
    {{arrItem.id}}
  

var setTimer ;
data: {
    arrDemo:[],
    page:1
  },
onLoad: function (options) {
    this.ajax(0);//模拟网络请求;
  },
ajax(num){
    //模拟请求数据;
    var data = [
      {
        name: '123456',
        id: 1
      },
      {
        name: '123456',
        id: 2
      },
      {
        name: '123456',
        id: 3
      },
      {
        name: '123456',
        id: 4
      },
      {
        name: '123456',
        id: 5
      }
    ];
    //模拟请求数据end------------------
  
    //模拟网络延;
   

    if(num>10){
      clearTimeout(setTimer);
    }else{
      // 时间控制器模拟网络请求
      setTimer = setTimeout(function () {

        //关键代码------------------
        let index = this.data.page -1;

        this.data.page++;//标记当前二维数组下标
        
        this.setData({
          ['arrDemo[' + index +']']:data,//二维数组动态赋值
          page:this.data.page//修改当前下标
        });
        
        //假装有多次请求
        this.ajax(num+1);
      }.bind(this), 1000);
    }
    

  }

你可能感兴趣的:(微信小程序:invokeWebviewMethod数据过长报错)