微信小程序 “Setting data field "cur" to undefined is invalid.”

这几天在写微信小程序的时候发现控制台经常会报一个错。

Setting data field "cur" to undefined is invalid.

有关 cur 字段的代码如下。

handlePopup(e) {
    const { item } = e.currentTarget.dataset;
    this.setData(
      {
        cur: item,
      },
      () => {
        this.setData({ visible: true });
      }
    );
}

从字面上来看意思是 cur 被设置为了 undefined,即字段 cur 没有获取到值,而这是无效的。

既然 cur 不能是 undefined,那么只要判断一下 item 的类型即可,即使用三元运算符进行判断,之后我们手动给他赋一个初始值。

修改之后的代码如下。

handlePopup(e) {
    const { item } = e.currentTarget.dataset;
    this.setData(
      {
        cur: item ? item : "",
      },
      () => {
        this.setData({ visible: true });
      }
    );
  }

添加新评论