微信小程序更改刷新data 数组结构里的某一项数据

这是我的小程序简单效果图

每一个panel 是一个类别  每次点击查看更多 需要调用接口刷新当前类别的数据

因为这是分类是一个数据 于是我定义成一个data  数组

data: {
    category_list:[
      { id: 1, name: '阅读', show: false, loading: true, news_list: [] },
      { id: 2, name: '重复', show: false, loading: true, news_list: [] },
      { id: 3, name: '停留', show: false, loading: true, news_list: [] },
      { id: 4, name: '转发', show: false, loading: true, news_list: [] },
      { id: 5, name: '评论', show: false, loading: true, news_list: [] },
      { id: 6, name: '点赞', show: false, loading: true, news_list: [] },
      { id: 7, name: '搞笑', show: false, loading: true, news_list: [] },
      { id: 8, name: '实用', show: false, loading: true, news_list: [] },
      { id: 9, name: '着数', show: false, loading: true, news_list: [] },
      { id: 10,name: '最美', show: false, loading: true, news_list: [] },
      { id: 11,name: '最萌', show: false, loading: true, news_list: [] },
      ]
  },

这是我小程序的data 

因为每次刷新我只需要更新对应的item  如果每次setData  category_list 整个数组, 感觉会消耗性能 ,所以只需要setData刷新对应的item  

只需要通过 以下方式解决    

this.setData({
   'array[0].text': 'update data'
})
//如果索引是动态的 则使用下方方式
var  mText = 'array['+ index +'].text';
this.setData({
   [mText]: 'update data'
})
这是我示例中的方法
//加载列表,index 索引  showAll是否显示全部
  getList: function (index,showAll){
    var mLoading = 'category_list[' + index + '].loading'
    var mNewsList = 'category_list[' + index + '].news_list'
    var mShowAll = 'category_list[' + index + '].show'
    var that = this;
    that.setData({
      [mNewsList]: [],
      [mLoading]: true
    })
    var category = this.data.category_list;
    var post_data = {
      category_id: category[index].id,
      filter_date: 0
    };
    api.getNewsList(function (data) {
      that.setData({
        [mLoading]: false,
        [mShowAll]: showAll
      })
      if (data.code == 200) {
        console.log(mLoading);
        that.setData({
          [mNewsList]: data.data
        })
      } else {
        wx.showModal({
          title: '',
          content: data.msg,
          showCancel: false
        })
      }

    }, post_data);
  }


  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joe.Xie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值