SwiftUI如何在不切换标签栏的情况下刷新单个标签视图

圣地亚哥

联网请求完成后,我需要对某些视图进行刷新,但是刷新页面后,我的选项卡栏会自动切换到第一个选项卡视图,这是我的代码:

//tab view
struct PricesView: View {
    @ObservedObject var netWorkManager = NetworkManager.shareInstance
    var body: some View {
        if netWorkManager.dataList.isEmpty {
            LoadingView().onAppear(perform: netWorkManager.fetchPricesData)
        } else {
            Text("Prices").foregroundColor(.red)
        }
    }
}

...

//main view
struct ContentView: View {
    var body: some View {
        TabView {
            HomeView().tabItem {
                Image(systemName: "house.fill")
                Text("home")
            }
            AlertsView().tabItem {
                Image(systemName: "flag.fill")
                Text("alerts")
            }
            LinksView().tabItem {
                Image(systemName: "link.icloud")
                Text("link")
            }
            PricesView().tabItem {
                Image(systemName: "bitcoinsign.circle")
                Text("prices")
            }
        }
    }
}


我该如何避免呢?

拉贾·基尚(Raja Kishan)

使用选择和标签。

struct ContentView: View {
    
    @State var selection = 0 // <- Here declare selection
    
    var body: some View {
        TabView(selection: $selection) { // <- Use selection here
            HomeView().tabItem {
                Image(systemName: "house.fill")
                Text("home")
            }.tag(0) // <- Add tag
            
            AlertsView().tabItem {
                Image(systemName: "flag.fill")
                Text("alerts")
            }.tag(1) // <- Add tag
            
            LinksView().tabItem {
                Image(systemName: "link.icloud")
                Text("link")
            }.tag(2) // <- Add tag
            
            PricesView().tabItem {
                Image(systemName: "bitcoinsign.circle")
                Text("prices")
            }.tag(3) // <- Add tag
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Outlook和AutoHotkey,如何在不切换字体的情况下输出Unicode符号?

如何在不切换的情况下查看所有teamviewer监视器?

如何在不使用标签栏控制器的情况下在情节提要之间切换

在Excel中如何在不切换焦点的情况下更改活动的PowerPoint演示文稿?

emacs:如何在不切换窗口且不抬高框架的情况下显示缓冲区?

如何在不破坏原始导航栏布局的情况下添加切换栏?

如何在不切换plot()参数的情况下切换MATLAB图上x和y值的显示

如何在没有NavigationView或Popover的情况下切换视图?

在SwiftUI中使用包装的UIKit标签视图在按钮按下时切换标签

Flutter:如何在不使用标签栏视图的情况下使用导航器创建标签栏?

如何在不切换到root的情况下以root用户身份运行smartctl?

如何在不切换分支的情况下检查另一个分支中是否有新的提交?

切换标签后刷新标签

如何在不刷新页面的情况下更改切换 javascript 上的 url

如何在不刷新页面的情况下使用Vue切换按钮

如何在不影响相同类元素的情况下切换 jquery 中的单个类?

当父级是标签栏视图控制器时,如何在没有标签栏的情况下嵌入视图控制器?

如何在不切换到TypeScript的情况下将TypeScript类型添加到JavaScript模块?

如何在不切换到* Calendar *的情况下使用日历光标到可见日期

如何切换显示/隐藏单个标签

如何在不使用应用程序栏的情况下创建标签栏?

如何在没有按钮的情况下自动在多个文本视图之间切换

如何在没有重复效果的情况下延长滑动切换的延迟?

Git:如何在不接触工作目录的情况下切换分支?

如何在不重新启动活动的情况下切换主题(夜间模式)?

如何在附加某些条件的情况下切换requestAnimationFrame函数?

如何在没有jQuery的情况下切换类?

如何在没有代码的情况下更改切换按钮颜色

如何在没有选择列表的情况下切换jQuery的盲目效果(默认)