微信小程序中,怎样在点击按钮后,修改setData里面的数值?

图片描述

图片描述

图片描述

如上图:这是通过wx.request从后台请求回来的数据,数据里面有一个TabContentStatus,默认状态是false,我需要给每一个选项设置一个按钮,让点击按钮的时候,这个值变成true,应该怎么设置? 求打救~ 谢谢

阅读 7.9k
2 个回答

渲染数据的时候可以绑定一个data-index="{{index}}"

onPostTabList: function(e){
    var index = e.currentTarget.dataset.index;//获取点击的索引
    var arr = this.data.TabSelectedValue_key; //获取数组
    arr[index].TabContentStatus = true; 
    this.setData({ //更新数据
        TabSelectedValue_key: arr
    })
}

恩,应该是这样的:)

在你的onPostTabList函数里:

onPostTabList: function(e) {
    //获取所有的数据
    var TabSelectedValue_key = this.data.TabSelectedValue_key
    
    //获取你绑定在view上的数据
    var tablistid = e.currentTarget.dataset.tablistid
    
    //遍历数据,找到对应的tablistid=catalogId,将其TabContentStatus设为true
    for(var i=0, len=TabSelectedValue_key.length; i<len; i++) {
        var item = TabSelectedValue_key[i]
        
        if(item.catalogId==tablistid) {
            item.TabContentStatus = true
            
            //赋予改变后的数据
            TabSelectedValue_key[i] = item
            
            break
        }
    }
    
    //设置改变后的数据
    this.setData({
        TabSelectedValue_key:TabSelectedValue_key
    })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题