SwiftUI选择器未更新值
我有一个选择类别的选择器。每个类别都有一个作为字符串的id属性。这将显示正确的初始值。但是,如果打开选择器并选择一个新值,SwiftUI选择器未更新值,swiftui,Swiftui,我有一个选择类别的选择器。每个类别都有一个作为字符串的id属性。这将显示正确的初始值。但是,如果打开选择器并选择一个新值,categoryId将永远不会更新 @EnvironmentObject var data: TransactionData @State var categoryId: String = "" var body: some View { Form { Section { Picker(selection: $category
categoryId
将永远不会更新
@EnvironmentObject var data: TransactionData
@State var categoryId: String = ""
var body: some View {
Form {
Section {
Picker(selection: $categoryId, label: Text("Category")) {
ForEach(data.categories) { category in
Text(category.name).tag(category.id)
}
}
}
}
}
标记
方法用于视图,而不是您希望选取器显示的值。请参见此处:。另外,请尝试在ForEach
中指定一个id
作为类别。id
。我相信Text()被视为一个视图,这就是文档所说的方法。我也有可识别的类别设置,所以ForEach是不必要的。我还想指出,这显示了正确的初始值。