问题描述
我有一个包含列表视图和按钮的视图。当按下按钮时,将向数组添加一个新项目。列表视图显示此数组中的所有项目。但是如果我按下按钮,List-View 不会显示数组中的变化。
这是我的代码:
import SwiftUI
var myArray = ["Harald","Jürgen","Günter"]
struct ContentView: View {
var body: some View {
HStack{
List(myArray,id: \.self) {
Name in
Text(Name)
}
Button(action: {
myArray.append("Harald")
print(myArray)
},label: {
Text("Button")
})
}
}
}
我现在的问题是我该怎么做,我的列表视图也将显示新项目/更改。 谢谢,布索什
解决方法
myArray 需要是一个@State 并且它需要在 ContentView 中。 我建议你阅读和观看一些 SwiftUI 教程。
struct ContentView: View {
@State var myArray = ["Harald","Jürgen","Günter"]
var body: some View {
HStack{
List(myArray,id: \.self) {
Name in
Text(Name)
}
Button(action: {
myArray.append("Harald")
print(myArray)
},label: {
Text("Button")
})
}
}
}