提交 a0fe5e17 authored 作者: yueweilu's avatar yueweilu

目录 跳转 阅读页 事件统一由详情页跳转

上级 aad8de22
......@@ -5,11 +5,13 @@ class BookCategoryPage extends StatefulWidget {
final List <ChapterModel> chapters;
final String bookId;
final BookDetailModel bookDetails;
final void Function(ChapterModel model) onTap;
const BookCategoryPage({
Key? key,
required this.chapters,
required this.bookId,
required this.bookDetails
required this.bookDetails,
required this.onTap
}) : super(key: key);
@override
......@@ -24,7 +26,14 @@ class _BookCategoryPageState extends State<BookCategoryPage> {
Expanded(
child: ListView.builder(
itemBuilder:(BuildContext context, int index){
return BuildItem(model: widget.chapters[index],bookId: widget.bookId,bookDetails: widget.bookDetails,);
return BuildItem(
model: widget.chapters[index],
bookId: widget.bookId,
bookDetails: widget.bookDetails,
onTap: (ChapterModel model){
widget.onTap(model);
},
);
},
itemCount: widget.chapters.length,
),
......
......@@ -4,11 +4,13 @@ class BuildItem extends StatefulWidget {
final ChapterModel model;
final String bookId;
final BookDetailModel bookDetails;
final void Function(ChapterModel model) onTap;
const BuildItem({
Key? key,
required this.model,
required this.bookId,
required this.bookDetails
required this.bookDetails,
required this.onTap
}) : super(key: key);
@override
......@@ -25,7 +27,8 @@ class _BuildItemState extends State<BuildItem> {
onTap: (){
// 如果章下面没有节 点击才会跳转
if (widget.model.children!.isEmpty){
context.pushNamed(Routes.web,queryParameters: {'book_id': widget.bookDetails.bookId.toString(),'chapter_id': widget.model.id.toString(),'chapter_name':widget.model.name.toString()},extra: widget.bookDetails);
widget.onTap(widget.model);
// context.pushNamed(Routes.web,queryParameters: {'book_id': widget.bookDetails.bookId.toString(),'chapter_id': widget.model.id.toString(),'chapter_name':widget.model.name.toString()},extra: widget.bookDetails);
}
// setState(() {
// widget.model.selected = !widget.model.selected;
......@@ -88,7 +91,8 @@ class _BuildItemState extends State<BuildItem> {
ChapterModel model = widget.model.children![index];
return GestureDetector(
onTap: (){
context.pushNamed(Routes.web,queryParameters: {'book_id': widget.bookDetails.bookId.toString(),'chapter_id':model.id.toString(),'chapter_name':model.name.toString()},extra: widget.bookDetails);
widget.onTap(model);
// context.pushNamed(Routes.web,queryParameters: {'book_id': widget.bookDetails.bookId.toString(),'chapter_id':model.id.toString(),'chapter_name':model.name.toString()},extra: widget.bookDetails);
},
child: _buildSection(model)
);
......
......@@ -88,7 +88,17 @@ class _BookDetailPageState extends State<BookDetailPage> with SingleTickerProvid
child: TabBarView(
controller: controller.tabController,
children: [
BookCategoryPage(chapters: controller.chapters,bookId: controller.bookId,bookDetails: controller.bookDetails,),
BookCategoryPage(
chapters: controller.chapters,
bookId: controller.bookId,
bookDetails: controller.bookDetails,
onTap: (ChapterModel chapterModel) async{
final result = await context.pushNamed(Routes.web,queryParameters: {'book_id': controller.bookDetails.bookId.toString(),'chapter_id': chapterModel.id.toString(),'chapter_name':chapterModel.name.toString()},extra: controller.bookDetails);
if (result == true){
controller.getChapters();
}
},
),
// Container(
// padding: EdgeInsets.only(left: 15.w,right: 15.w,top:12.w),
// color: Colors.white,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论