Контейнер Flutter не перезагружает данные SQLITE при возвращении на домашнюю страницу?
Моя проблема в следующем. У меня есть основная вкладка панели инструментов, на которой есть futurebuilder, который считывает данные из SQLITE, а затем отображает их. У меня также есть другая страница, которая используется для добавления данных в SQLite, а затем используется для возврата на страницу панели инструментов. Единственная проблема, с которой я сталкиваюсь, заключается в том, что вкладка панели инструментов не перезагружается при обработке нажатия, поэтому, когда я переключаюсь между вкладками, данные внезапно загружаются, а затем обновляются соответственно.
Вот что я использую для перехода на страницу с вкладками:
Navigator.pushAndRemoveUntil(
context,
PageTransition(
type: PageTransitionType.upToDown, child: new Home()),
(r) => false);
и вот что я использую для отображения правильной страницы, когда она попадает на вкладку:
void initState() {
super.initState();
setState(() {
pageIndex = 0;
});
}
pageSetter() {
if (pageIndex == 0) {
setState(() {});
return new Dashboard();
} else if (pageIndex == 1) {
return Container();
} else if (pageIndex == 2) {
return IncomePage();
} else {
return ExpensePage();
}
}
И последнее, но не менее важное: это то, что находится на странице, данные о которой мне нужно обновить.
Future<List<BankCard>> bankcards;
@override
void initState() {
setState(() {
bankcards = DBProvider.db.getBankCards();
});
super.initState();
}
Затем банковские карты используются в будущем конструкторе позже в коде. Мой код кажется прекрасным с точки зрения функции, поскольку он оказывает желаемое влияние, когда выбирается другая вкладка, а затем возвращается к исходной вкладке, но он не перезагружает будущий построитель после нажатия кнопки навигации. Я предполагаю, что состояние инициализации не запускается, и я не знаю, что еще попробовать. Любая помощь была бы замечательной. Спасибо!