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

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

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

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

解决办法:

利用小程序提供的思路

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

实现demo

//wxml
<view wx:for='{{arrDemo}}' wx:key='a' wx:for-item='arrData' wx:for-index='arrIndex'>
  <view  wx:for='{{arrData}}' wx:for-item='arrItem'>
    <view>第{{arrIndex}}组数据</view>
    <view>{{arrItem.name}}</view>
    <view>{{arrItem.id}}</view>
  </view>
</view>
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);
    }
    

  }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看不清晰, 他朦朦胧胧, 他若隐若现, 分不清昼夜、看不到黑白。 他是你的脸、你的手、你的骨骼、身上的每一寸肌肤与...
    没鞋穿的这个人阅读 1,794评论 0 0
  • 再一次,又陷入这样的迷茫期,面对生活工作的各种不如意。可是现在有高如何呢?该如何才是最好的选择呢? 再一次面对北京...
    大头_dcee阅读 1,410评论 0 0