当我查看列表底部时,生成器不会滚动到新添加的项目。
messageList.insert(0, newMessage);
setState(() {});
SchedulerBinding.instance.addPostFrameCallback((_) {
_messageListController.animateTo(
_messageListController.position.minScrollExtent,
duration: const Duration(milliseconds: 300),
curve: Curves.easeOut);
});
我还在添加新项后使用addPostFrameCallback。只要我查看上面的项目(而不是在列表的末尾),它就可以工作。
请帮我找出解决这种情况的办法。多谢了
1条答案
按热度按时间kmbjn2e31#
我找到了保留的ListView.builder在新添加项目时不滚动到底部的原因:因为我不对每个项目使用
ValueKey
。解决方案:
注意:您可以使用
ValueKey
或ObjectKey
。有什么区别?ValueKey
:比较值。ObjectKey
:比较地址。