setData是局部刷新还是全局刷新?
发布于 5 年前 作者 dxue 19933 次浏览 来自 问答

猜测应该是局部刷新?看文档提到可以用这种方式更新data:

this.setData({      

    'array[0].text':'changed data'

})

但如何实现动态参数?比如下面这段报错

var index = e.currentTarget.dataset.id;

this.setData({      

    'array[index].text':'changed data'

})
4 回复

该如何单独动态更新一个数组的元素呢?

您好,请问这个问题解决了吗

我用ES6编译成ES2015, this.setData是undefined,这个问题修复了吗?

new class PageAuth {
  data = {
    formData: {
      email: null,
      captcha: null
    },
    viewData: {
      captchaBtnText: '点击获取验证码',
      warningText: ''
    }
  };
 
  page = null;
 
  constructor() {
    this.page = Page(this);
  }
 
  sendCaptcha = (event) => {
    console.log(this.setData);
    console.log(event);
    // this.setData({
    //   data: {
    //     viewData: {
    //       warningText: '注意'
    //     }
    //   }
    // });
    console.log(this.data)
    if (!this.data.formData.email) {
      return wxService.showToast({
        title: '请输入邮箱',
        icon: 'loading'
      });
    }
  };
}

局部的,哪里变化刷哪里

回到顶部