求助,setData如何设置数据?
发布于 5 年前 作者 minzheng 12087 次浏览 来自 问答

data: {

    checkboxList: [

          {name: ‘综合部’, value:‘0’},

          {name: ‘总经办’, value:‘1’}

        ],

},

现在需要渲染一个checkbox列表,数据格式如上:

var that = this;

    wx.request({

      url: ‘https://XXXXXXXXXXX/GetDepartment’,

      data: {

        departmentid: depID,

      },

      success: function(res){

        for (var i = 0; i < res.data.datalist.length; i++){

          console.log(res.data.datalist[i].F_DepartmentName);

          console.log(res.data.datalist[i].F_DepartmentID);

          that.setData({

            checkboxList: [

              {name: res.data.datalist[i].F_DepartmentName, value: i}

            ]

          })

        }

      },

有没有办法将请求回来的数据push进checkboxList而不是像setData每次都重新设置数据????

2 回复
let list = []
for (let i = 0; i < res.data.datalist.length; i++){
    list.push({
        name: res.data.datalist[i].F_DepartmentName,
        value: i
    })
})
that.setData({
    checkboxList: list
})

setData 方法用于将数据变化应用到视图。可以先把数组 push 到一个数组中,再用这个数组更新视图。

你处理完checkboxList之后,调用一次setData就好了。。。

回到顶部