如果底部导航栏当前项目是 发现,页面主体就会显示一个 TabBarView 小部件,我们可以把它单独定义成一个小部件放在一个文件里。在 TabBarView 里面会包含一组小部件,然后会根据当前标签显示对应的小部件,这些小部件也可以单独放在各自的文件里。
打开 AppPageMain,在这个小部件的 pageMain 里面,有一个 TabBarView,剪切一下这个小部件。然后在 lib/post 目录的下面新建一个文件,放在 index 的下面,名字是 post_index.dart。
在这个文件里定义一个小部件,名字是 PostIndex,小部件的 build 方法 return 的东西就是刚才剪切的 TabBarView。
回到 AppPageMain,把刚才定义的 PostIndex() 作为 pageMain 里面的第一个项目。
打开 PostIndex,在这个 TabBarView 里面,每个子部件都可以单独放在一个文件里,剪切一下第一个子部件,然后新建一个文件,放在 lib/post/index/components 的下面,名字是 post_index_latest.dart
在这个文件里定义一个小部件,名字是 PostIndexLatest,把剪切的东西作为小部件的 build 方法 return 的东西。
再打开 PostIndex,剪切一下 TabBarView 里剩下的这个子部件,新建一个文件,放在 lib/post/index/components 里面,名字是 post_index_popular.dart,在这个文件里定义一个小部件,名字是 PostIndexPopular,把剪切的东西作为这个小部件的 build 方法 return 的东西。
然后再回到 PostIndex, 在 TabBarView 的 children 里面,先添加一个 PostIndexLatest() ,然后再添加一个 PostIndexPopular()。
在模拟器测试一下,打开 发现, 切换一下标签。如果标签栏里的当前标签是 最近,就会显示 PostIndexLatest,如果当前标签是 热门,就会显示 PostIndexPopular。