setData 动态设定值问题?
发布于 6 年前 作者 yang08 5510 次浏览 来自 官方Issues

有个方法是 修改 data 属性里的某个值

selectCar(event) {
        let status = event.currentTarget.dataset.status == true
        this.setData({
            selectGoods: status
        })
}

打印status 的值 是  布尔值的 true

修改的时候发现 修改失败了  也不提示任何报错信息

selectCar() {
        this.setData({
            selectGoods: true
        })
  }

直接赋值却发现可以修改值

这个是个bug ?

更新---------------

selectCar(event) {
        let status = Boolean(Number(event.currentTarget.dataset.status)) // status 传递的 是  0  和   1
        this.setData({
            selectGoods: status
        })
    }

这样就可以实现动态赋值了  如果 直接判断 就不行?  这是什么鸟逻辑

4 回复

event.currentTarget.dataset.status == true可能返回false.

你第一个写的是let status = event…==true 双=不是判断吗,我没看懂你写的这个的意思,

为什么不直接写let status = event…或者let status=true

感觉你的代码写的有点问题呀

回到顶部