fix: load local peers, called two times on select tab (#10859)

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou
2025-02-20 22:47:42 +08:00
committed by GitHub
parent ce1e4863cb
commit 343f12b380

View File

@@ -33,8 +33,8 @@ class PeerTabPage extends StatefulWidget {
class _TabEntry { class _TabEntry {
final Widget widget; final Widget widget;
final Function({dynamic hint}) load; final Function({dynamic hint})? load;
_TabEntry(this.widget, this.load); _TabEntry(this.widget, [this.load]);
} }
EdgeInsets? _menuPadding() { EdgeInsets? _menuPadding() {
@@ -44,21 +44,15 @@ EdgeInsets? _menuPadding() {
class _PeerTabPageState extends State<PeerTabPage> class _PeerTabPageState extends State<PeerTabPage>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
final List<_TabEntry> entries = [ final List<_TabEntry> entries = [
_TabEntry( _TabEntry(RecentPeersView(
RecentPeersView( menuPadding: _menuPadding(),
menuPadding: _menuPadding(), )),
), _TabEntry(FavoritePeersView(
bind.mainLoadRecentPeers), menuPadding: _menuPadding(),
_TabEntry( )),
FavoritePeersView( _TabEntry(DiscoveredPeersView(
menuPadding: _menuPadding(), menuPadding: _menuPadding(),
), )),
bind.mainLoadFavPeers),
_TabEntry(
DiscoveredPeersView(
menuPadding: _menuPadding(),
),
bind.mainDiscover),
_TabEntry( _TabEntry(
AddressBook( AddressBook(
menuPadding: _menuPadding(), menuPadding: _menuPadding(),
@@ -100,7 +94,7 @@ class _PeerTabPageState extends State<PeerTabPage>
gFFI.peerTabModel.setCurrentTabCachedPeers([]); gFFI.peerTabModel.setCurrentTabCachedPeers([]);
} }
gFFI.peerTabModel.setCurrentTab(tabIndex); gFFI.peerTabModel.setCurrentTab(tabIndex);
entries[tabIndex].load(hint: false); entries[tabIndex].load?.call(hint: false);
} }
} }
@@ -225,7 +219,7 @@ class _PeerTabPageState extends State<PeerTabPage>
child: RefreshWidget( child: RefreshWidget(
onPressed: () { onPressed: () {
if (gFFI.peerTabModel.currentTab < entries.length) { if (gFFI.peerTabModel.currentTab < entries.length) {
entries[gFFI.peerTabModel.currentTab].load(); entries[gFFI.peerTabModel.currentTab].load?.call();
} }
}, },
spinning: loading, spinning: loading,