1
0
mirror of https://github.com/flutter/samples.git synced 2026-02-04 05:41:26 +00:00

Fix TabController index update (#2753)

Hi, I noticed this bug in the navigation_and_routing sample. 

This PR fixes the tab controller state update issue in BooksScreen.
This commit is contained in:
Sherzod
2025-12-17 22:26:12 +05:00
committed by GitHub
parent 6f4e07c9dd
commit 3c112d0efc

View File

@@ -31,6 +31,14 @@ class _BooksScreenState extends State<BooksScreen>
..addListener(_handleTabIndexChanged);
}
@override
void didUpdateWidget(covariant BooksScreen oldWidget) {
super.didUpdateWidget(oldWidget);
if (oldWidget.selectedIndex != widget.selectedIndex) {
_tabController.index = widget.selectedIndex;
}
}
@override
void dispose() {
_tabController.removeListener(_handleTabIndexChanged);
@@ -39,7 +47,6 @@ class _BooksScreenState extends State<BooksScreen>
@override
Widget build(BuildContext context) {
_tabController.index = widget.selectedIndex;
return Scaffold(
appBar: AppBar(
title: const Text('Books'),