我正在使用GoRouter在我的应用程序页面之间导航.我导航的路由之一是使用QuillHtmlEditor,当我导航到它时,它需要大约1秒的时间来加载,每次用户导航到页面时,它都会加载新的内容.我希望始终保持加载QuillHtmlEditor的页面,无论它是否显示在屏幕上.有什么方法可以轻松做到这一点吗?我很难找到任何关于如何在Flutter 中预加载路由的信息.

推荐答案

我希望始终保持加载QuillHtmlEditor的页面,无论它是否显示在屏幕上

您可以使用Offstage小部件:

一个小部件,它将子对象放置在树中,但不绘制任何内容,不使子对象可用于命中测试,也不占用父对象中的任何空间.

Offstage(
      offstage: _offstage,
      child: Container(
        child: Text('Hello World'),
      ),
    ),

或者,您也可以使用IndexedStack:

显示子项列表中的单个子项的堆栈. 显示的子项是具有给定索引的子项.堆栈始终与最大的子级一样大.


Scaffold(
      body: IndexedStack(
        index: _currentIndex,
        children: <Widget>[
          Widget1(),
          Widget2(),
          // ... other pages
        ],
      ),
    )

Flutter相关问答推荐

Flutter 导致底部溢出

CLI数据库连接后将SHA-1密钥添加到Firebase项目

从外部类动态更改IconButton的图标

Flutter 翼future 建造者不断开火和重建.它在每次重建时都会生成一个新的随机数--我如何防止这种情况?

如何正确处理Flutter 翼中使用火基时发生的碰撞?

与FTPS连接时出现Flutter FTPConnect HandshakeException错误

如何让经过Firebase身份验证的用户能够将Zip文件上载到Firebase云存储?

将列表<;Events>;从Flutter 应用程序中的函数传回EventLoader属性时出错

从future 列表到流列表Flutter Firebase

将自定义容器附加到屏幕底部

Flutter Riverpod 没有捕获 List 的嵌套值变化

在 flutter 中获取最喜欢的文档

从子类调用超类的超方法

flutter 中 // 和 /// 有什么区别

如何在 Flutter 中使用 drawLine() 和 drawCircle() 绘制等距离的 4 条线

如何使按钮被选中?

Flutter Firebase:如何判断返回值是否是特定对象

如何在没有上下文的情况下使用国际Flutter ?

在列表视图Flutter 中 Select 下一个单选按钮时单选按钮更改

如何从 Flutter 中的列表中提取 JSON?