setData渲染完成不进回调是什么原因?
发布于 6 年前 作者 ifeng 1986 次浏览 来自 官方Issues

我的小程序在用scroll-view显示用户的一条条数据,这些一条条的数据显示速度会非常快,为实现每插入一行数据,页面自动滚动到最底端,所以需要了解什么时候渲染完,再调用滚动到底部功能。否则渲染和滚动不同步会给人卡顿的感觉。

下面是我的代码截图,死活不进setData回调。(截了得有100张图,最小的都300*300,55KByte了,还一直提示我:上传图片高度(像素)与宽度(像素)的乘积不能超过600万)传代码吧:

this.setData({

['tx_rx_list[' + app.globalData.tx_rx_lst.length + ']']: newarray,

'tx_his_page': app.globalData.tx_his,

countTx: countTx,

countTxFrame: countTxFrame,

}), () => {

console.log('赋值成功')

//视图滚动到底部

that.setData({

scrollTop: 99999

});

}


永远打印不出:赋值成功

上面的调试基础库是2.10.1

========================

另外我单独新建了一个代码片断,问题依旧,是我的开发环境问题,还是库的问题?

这个测试代码片断链接 :https://developers.weixin.qq.com/s/r4wlYOmN7GkL

这是测试代码片断截图:(截了得有100张图,最小的都300*300,55KByte了,还一直提示我:上传图片高度(像素)与宽度(像素)的乘积不能超过600万)传代码吧:

const app = getApp()


Page({

data: {

indexNearbyMenu:false,

},

onLoad: function () {

console.log('123')

this.setData({

indexNearbyMenu: true

}), () => {

console.log("456");

}

console.log('789')


},

})


打印:

123

789

上面的测试代码调试基础库是2.13.1

2 回复

谢邀。

一辈子用小程序,都没有用过这个回调。写过十几个小程序,也没碰到过需要用到它的。

代码问题,你的片段里面的this.setData就没执行。

回到顶部