如何解决改变父widget高度,不会导致子widget重新构建Flutter
我有一个 Container()
的父小部件和一个 FutureBuilder
的子小部件...
在我的应用程序中,我需要更改容器的高度,使其适合 FutureBuilder
中新添加的项目但问题是当我 setState
并更改父小部件的 ({{1} }}) 高度 Container()'s
再次重建
现在,这是可以预料的,这是正常行为......
现在是问题。如何防止我孩子的小部件重建并仅重建父小部件?
像一种将数据保存到 RAM 中的方法……
另外,我正在使用 FutureBuilder
但无济于事;
这是我的代码
AutomaticKeepAliveClientMixin
Parent
这是我的
\\ Somewhere here I call setState and change the value of _latestPostsHeight
Container(
child: LatestPosts(),height: _latestPostsHeight,),
,它是一个 LatestPosts()
FutureBuilder
我能做什么?
解决方法
bool futureCalled = false;
Future post(){
setState(() {
futureCalled = true;
});
}
Widget build(BuildContext context) {
return Container(
height:containerHeight,child: FutureBuilder(
future: futureCalled ? null : post(),//handle child redraw
builder: (BuildContext context,snapshot){
.....
);
}
希望这对你有帮助,让我知道这是否有效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。