我有两页,您可以在其中查看一堆电影,您可以在其中欣赏电影的顶部,然后移至下一页, PAGE A ,第二页在列表 PAGE B 中展示喜欢的电影的人。
每次我喜欢或不喜欢电影时,都可以转到 PAGE B ,我应该能够看到自己喜欢的电影,但是因为我使用的是IndexedStack , PAGE B 不会重建,因此不会显示更新后的列表。
当我重新输入 PAGE B 时,是否可以重新构建?
这就是我所拥有的:
class HomePage extends StatefulWidget {
//
static String id = 'home';
//
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
//
List<Widget> _pages = [MovieStackPage(), LikedMoviesPage()];
int pageIndex = 0;
//
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: SafeArea(
child: IndexedStack(
index: pageIndex,
children: _pages,
),
),
bottomNavigationBar: AnimatedBottomNavigationBar(
icons: [...],
iconSize: 25,
elevation: 50,
activeIndex: pageIndex,
leftCornerRadius: 32,
rightCornerRadius: 32,
activeColor: User.color,
inactiveColor: kAppIconGray,
splashColor: User.color.withOpacity(.3),
onTap: (index) => setState(() => pageIndex = index),
),
);
}
}
我正在为BottomNavBar使用一个软件包,但这应该不是问题。
答案 0 :(得分:0)
从页面列表中删除该页面并在同一索引处重新添加:
onTap: (index) {
_pages.removeAt(1);
_pages.insert(1, LikedMoviesPage());
setState(() => pageIndex = index);
},