微信小程序用setData修改数组

第一种方法

WXML

<view wx:for="{{lists}}" data-idx="{{index}}" bindtap="tap">
    {{item.show?'显示':'隐藏'}}
</view>

JS

Page({
  data: {
    lists: [{show:true},{show:true},{show:true},{show:true},{show:true},]
  },
  tap(e){
    var idx = e.currentTarget.dataset.idx;
    var show = "lists["+idx+"].show";
    var dataShow = this.data.lists[idx].show;

    this.setData({
       [show]:!dataShow
    });
  }
})

第二种方法

JS

Page({
    data: {
        lists: [{show:true},{show:true},{show:true},{show:true},{show:true},]
    },
    tap(e){
        var idx = e.currentTarget.dataset.idx;
        var dataShow = this.data.lists[idx].show;

        this.data.lists[idx].show = !dataShow;
    
        this.setData({
            lists: this.data.lists
        });
    }
})

 

根据自己的经历,简单分享一些思路,具体项目请自行修改

 

posted @ 2019-08-21 11:20  dearyang  阅读(64)  评论(0)    收藏  举报