期望:进入某个会话后,加载完本地数据,将List滚动到最底部
实现过程及问题:我是通过List组件配合LazyForEach来展示数据的,数据展示没问题,但是每次进入会话页面,加载完本地数据,立即调用scrollEdge 无法滚动到底部,如果加延时调用scrollEdge就能滚动到底部
//进入会话 加载消息
IMCenter.getInstance().getHistoryMessages(conversationId, conversationType,
(messages: Message[]) => {
//addArray会立即触发listener.onDataAdd(index)
this.dataSource.addArray(messages)
//数据存到dataSource后,立马滚动到底部
this.scroller.scrollEdge(Edge.Bottom)
});
我认为 this.dataSource.addArray(messages) 执行后,List数据已经更新了,为什么滚动却没起作用呢?
这样连续着scrolledge不行,因为加了数据还没来得及刷新,List还是在底部,没法往下面滚动
可以尝试把this.scroller.scrollEdge(Edge.Bottom)放在animateTo闭包里,强制刷一下试试