参考:Page.prototype.setData(Object data, Function callback)

// example:
toggleOpen(e) {
  const { pid } = e.target.dataset;
  for (let i = 0; i < this.data.places.length; i++) {
    if (pid == this.data.places[i]._id) {
      let label = `places[${i}].open`;
      let value = !this.data.places[i].open;
      this.setData({
        [label]: value,
      });
      break;
    }
  }
}

当需要修改的内容是数组或者对象的时候,可以通过构造 key 的方式来修改。

let label = `places[${i}].open`;
let value = !this.data.places[i].open;
this.setData({
  [label]: value,
});