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