我有PageView.builder
这样的代码
@override
Widget build(BuildContext context) {
return PageView.builder(
itemCount: myList.length,
onPageChanged: (int pageIndex) => setState(() => index = pageIndex), // this make it work fine
itemBuilder: (context, index) => MyPage(myList[index])
);
}
{{1}的itemBuilder
和PageView.builder
的正常itemBuilder
的问题是,一旦在屏幕上绘制了小部件,它们就会停止被调用之前的ListView.builder
值。
现在在我的用例中,我希望每次index
中的页面发生更改时都触发itemBuilder
,因为我正在更新PageView
,现在我想在其中显示新数据新list
的MyPage。该怎么做?
PS:有list
回调,我可以使用onPageChanged()
,它可以正常工作,但它只会破坏setState()
的用途,或者可以使用{{1} } PageView
中的}是多余的吗?