【问题标题】:Dynamically set the initial page of page controller on navigation from another screen从另一个屏幕导航时动态设置页面控制器的初始页面
【发布时间】:2020-04-15 06:41:49
【问题描述】:

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

【问题讨论】:

  • 这方面有什么更新吗?我有同样的问题

标签: flutter dart


【解决方案1】:

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

例如。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多