使itemBuilder每次运行而无需调用setState()

时间:2018-11-11 16:16:22

标签: dart flutter

我有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}的itemBuilderPageView.builder的正常itemBuilder的问题是,一旦在屏幕上绘制了小部件,它们就会停止被调用之前的ListView.builder值。

现在在我的用例中,我希望每次index中的页面发生更改时都触发itemBuilder,因为我正在更新PageView,现在我想在其中显示新数据新list的MyPage。该怎么做?


PS:有list回调,我可以使用onPageChanged(),它可以正常工作,但它只会破坏setState()的用途,或者可以使用{{1} } PageView中的}是多余的吗?

0 个答案:

没有答案