der*_*mug 9 swiftui swiftui-tabview
我想在 TabView 的活动选项卡更改时更改文本的值。我尝试使用onChange(of: activeTab, perform: {})更改存储文本的状态变量的值,但似乎onChange()从未调用过给定的闭包。
TabView(selection: $activeTab) {
ForEach(exampleData) {dayMenu in
DayMenuView(dayMenu: dayMenu)
.padding([.leading, .bottom, .trailing])
}
}
.onChange(of: activeTab, perform: { index in
print(activeTab)
withAnimation {
activeDate = dates[1]
}
})
Run Code Online (Sandbox Code Playgroud)
文本视图
Text(activeDate)
Run Code Online (Sandbox Code Playgroud)
状态变量
let dates = ["Montag", "Dienstag"]
@State private var activeTab: Int = 0
@State private var activeDate = "Montag"
Run Code Online (Sandbox Code Playgroud)
Asp*_*eri 17
提供的代码不可测试,但我认为这是因为activeTab未更改,因为标签视图未识别,由于标签,所以尝试
TabView(selection: $activeTab) {
ForEach(exampleData.indices, id: \.self) { index in
DayMenuView(dayMenu: exampleData[index])
.padding([.leading, .bottom, .trailing])
.tag(index)
}
}
.onChange(of: activeTab, perform: { index in
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7711 次 |
| 最近记录: |