用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

微信小程序之setData数组使用push的坑(数组操作最好在setData外面) ...

Rolan 2020-7-1 00:34

代码如下:Promise.all(promiseArr).then(res = { this.setData({ commentlist: this.data.commentlist.push(comment) }) console.log(this.data.commentlist); });commentlist为数组,使用push后打印出来的是1后来 ...

代码如下:

复制代码
Promise.all(promiseArr).then(res => {
            this.setData({
              commentlist: this.data.commentlist.push(comment)
            })
            console.log(this.data.commentlist);
          });
复制代码
commentlist为数组,使用push后打印出来的是1
后来改为concat就正常了
复制代码
Promise.all(promiseArr).then(res => {
            this.setData({
              commentlist: this.data.commentlist.concat(comment)
            })
            console.log(this.data.commentlist);
          });
复制代码

不只是push有这个问题,splice也有,说不定其他的方法也是这样,为了保证没有错误,建议所有的数组操作都放在setData外边进行处理,如下:

复制代码
Promise.all(promiseArr).then(res => {
            this.data.commentlist.push(comment)
            this.setData({
              commentlist: this.data.commentlist
            })
            console.log(this.data.commentlist);
          });
复制代码

这样应该就没有什么问题了。

记住这个坑了。

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 深如墨&淡如水 来自: cnblogs