首页 > 解决方案 > 从另一个屏幕导航时动态设置页面控制器的初始页面

问题描述

我有一个列表视图构建器,其中 Image.network 包装在 Inkwell 中作为其子级。我想导航到另一个页面,该页面由单击图像的页面视图构建器组成。我已经在构造函数中传递了列表视图构建器的索引。现在我想根据我在构造函数中传递的列表视图的索引来动态设置页面视图构建器的初始页面的值。我尝试将 PageController 中的初始页面设置为 widget.index 但抛出错误只能分配静态值。我还尝试了 pagecontroller.jumptoPage(widget.index) ,它会引发异常 Scroll controller 未附加到任何滚动视图。我该如何解决这个问题?

标签: flutterdart

解决方案


页面控制器必须在initState()而不是 State 类上定义,因为在初始化程序中只能访问静态成员。

例如。

void initState(){
     pageController=PageController(initialPage:widget.index)
}

推荐阅读