小编Roo*_*kie的帖子

当选择是可选的时,Tabview 无法更新选择?

我有以下代码片段。当我在选项卡之间滑动时,“FirstTabView”中的“selectedTab”会自动更新。但是,如果我将“selectedTab”更改为“SecondTabView”中所示的可选值,则“selectedTab”不会更新并始终显示 2。有人可以帮忙解释一下吗?

struct FirstTabView: View {
    @State private var selectedTab: Int = 2

    var body: some View {
        VStack {
            TabView(selection: $selectedTab) {
                Text("Tab 1")
                    .tag(1)
                Text("Tab 2")
                    .tag(2)
                Text("Tab 3")
                    .tag(3)
            }
            .tabViewStyle(PageTabViewStyle())
            Text(String(selectedTab))
        }
    }
}

struct SecondTabView: View {
    @State private var selectedTab: Int?

    var body: some View {
        VStack {
            TabView(selection: $selectedTab) {
                Text("Tab 1")
                    .tag(1)
                Text("Tab 2")
                    .tag(2)
                Text("Tab 3")
                    .tag(3)
            }
            .tabViewStyle(PageTabViewStyle())
            Text(String(selectedTab ?? 2))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我创建一个新的非可选变量来绑定选择,然后“selectedTab”可以再次自动更新。但我检查了 SwiftUI 文档,选项卡视图确实接受可选值作为选择参数。

struct SecondTabView: View …
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-tabview

1
推荐指数
1
解决办法
131
查看次数

标签 统计

swiftui ×1

swiftui-tabview ×1