当前位置:   article > 正文

微信小程序更改刷新data 数组结构里的某一项数据_微信小程序每过一秒增加data内的数据,

微信小程序每过一秒增加data内的数据,

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

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

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

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

这是我小程序的data 

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

只需要通过 以下方式解决    

  1. this.setData({
  2. 'array[0].text': 'update data'
  3. })
  4. //如果索引是动态的 则使用下方方式
  5. var mText = 'array['+ index +'].text';
  6. this.setData({
  7. [mText]: 'update data'
  8. })
这是我示例中的方法
  1. //加载列表,index 索引 showAll是否显示全部
  2. getList: function (index,showAll){
  3. var mLoading = 'category_list[' + index + '].loading'
  4. var mNewsList = 'category_list[' + index + '].news_list'
  5. var mShowAll = 'category_list[' + index + '].show'
  6. var that = this;
  7. that.setData({
  8. [mNewsList]: [],
  9. [mLoading]: true
  10. })
  11. var category = this.data.category_list;
  12. var post_data = {
  13. category_id: category[index].id,
  14. filter_date: 0
  15. };
  16. api.getNewsList(function (data) {
  17. that.setData({
  18. [mLoading]: false,
  19. [mShowAll]: showAll
  20. })
  21. if (data.code == 200) {
  22. console.log(mLoading);
  23. that.setData({
  24. [mNewsList]: data.data
  25. })
  26. } else {
  27. wx.showModal({
  28. title: '',
  29. content: data.msg,
  30. showCancel: false
  31. })
  32. }
  33. }, post_data);
  34. }


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/90072
推荐阅读
相关标签
  

闽ICP备14008679号