当setData设置数组元素碰到button disabled,这是个坑么?
发布于 6 年前 作者 taofeng 4616 次浏览 来自 官方Issues

使用setData({‘arr[0]’:1})设置数组元素,一般并没什么问题。但如果和button disabled有关了,问题就出来了。

<!--index.wxml-->
<view class="container">
  <button bindtap="bad">哈哈哈</button>
  <button disabled="{{content.length==0}}" type="primary">禁用按钮{{content.length}}</button>
</view>
Page({
  data: {
    content: [],
  },
 
  bad() {
    this.setData({
      'content[0]': true
    })
  },
 
  ok() {
    this.setData({
      'content': [true]
    })
  }
})

如果哈哈哈按钮调用ok,那么按钮状态变化正常。

但神奇的是,在其它地方使用,无论那种方法,页面都会正常更新,比如在文字中,或者在逻辑判断中。

目前只是在disabled属性中存在这个问题

回到顶部