收藏
回答

使用setData()修改数据后页面没有刷新?

    api.subscribeDeviceState({
      clientList: device,
      callBack: function (res) {
        _this.data.houseProperties.channelList.forEach(item => {
          if (item.channel.channelId == res.channelId) {
            let state = item
            state.state[res.state] = true
            _this.setData({
              state
            })
            console.log(item)
          }
        });
        console.log(_this.data.houseProperties.channelList)
      }
    })

比如我判断到channelId = 2 ,那么第二行的第一个按钮应该变成true,但是没有变,求大佬帮忙

回答关注问题邀请回答
收藏

3 个回答

  • |夏天|先生
    |夏天|先生
    2021-08-27

    setData不是那么设置的

    2021-08-27
    有用
    回复
  • Gavin
    Gavin
    2021-08-27
    逻辑是不是存在有问题,请亮出你的数据结构
    
    2021-08-27
    有用
    回复 1
    • 加伊
      加伊
      2021-08-27
      2021-08-27
      回复
  • 困难
    困难
    2021-08-27

    有确定setData执行吗?有没有看看data里的state是不是改变了?

    2021-08-27
    有用
    回复 1
    • 加伊
      加伊
      发表于移动端
      2021-08-27
      打印是没有问题的,数据已经改变,但是就是页面没有刷新,不过好在我已经解决了,把foreach换成了for,可是还是纳闷这为什么不行
      2021-08-27
      回复
登录 后发表内容