我正在为我的flutter项目使用syncfusion_flutter_pdfviewer包,我试图将一个特定的页码从我的主页面传递到我的Details页面。之后,它会加载PDF页码立即时,详细页打开,但我卡住了,所以任何帮助或建议将是非常感谢的。
我已经试过了,但是我在“jumpToPage”上得到一个错误
此表达式的类型为“void”,因此无法使用其值。尝试检查您是否使用了正确的API;可能有一个函数或调用返回了你没有预料到的void。还要检查类型参数和变量,它们也可能是空的。
body: SfPdfViewer.asset(
'data/hymn_pdf/full-songs.pdf',
controller: _pdfViewerController.jumpToPage(widget.number),
),
完整详细信息页代码。
class DisplayScreen extends StatefulWidget {
final int number;
const DisplayScreen(this.number);
@override
_DisplayScreen createState() => _DisplayScreen();
}
class _DisplayScreen extends State<DisplayScreen> {
final GlobalKey<SfPdfViewerState> _pdfViewerKey = GlobalKey();
late PdfViewerController _pdfViewerController;
@override
void initState() {
_pdfViewerController = PdfViewerController();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Syncfusion Flutter PdfViewer'),
actions: <Widget>[
IconButton(
icon: Icon(
Icons.arrow_drop_down_circle,
color: Colors.white,
),
onPressed: () {
_pdfViewerController.jumpToPage(widget.number); // I got this from synfusion doc and I'm trying to copy it in my controller but I'm getting an error.
},
),
],
),
body: SfPdfViewer.asset(
'data/hymn_pdf/full-songs.pdf',
controller: _pdfViewerController.jumpToPage(widget.number), //I'm getting an error here
),
);
}
}
1条答案
按热度按时间drnojrws1#
在分配控制器时不能只调用
jumpToPage
。错误示例:您需要在加载pdf后调用该方法。例如,在
onDocumentLoaded
回调函数中调用它。示例代码: