Swiftui 无法与文本字段组合使用
我正在尝试使用combine将数据传递到TextField。通过创建数据模型和使用ObserveObject,但当我在textField中使用它时,它会显示错误。无法将“String”类型的值转换为预期的参数类型“BindingSwiftui 无法与文本字段组合使用,swiftui,Swiftui,我正在尝试使用combine将数据传递到TextField。通过创建数据模型和使用ObserveObject,但当我在textField中使用它时,它会显示错误。无法将“String”类型的值转换为预期的参数类型“Binding”。我无法理解它 数据模型 struct People: Identifiable { var id = UUID() var name: String var amount: String } let peopleData = [ Pe
struct People: Identifiable {
var id = UUID()
var name: String
var amount: String
}
let peopleData = [
People(name: "A",amount: ""),
People(name: "B",amount: ""),
People(name: "C",amount: "")
]
可观察对象
import Combine
class PeopleAllData: ObservableObject{
@Published var peopleStore: [People] = peopleData
}
TextField
@ObservedObject var store = PeopleAllData()
List{
ForEach(store.peopleStore){ item in
HStack {
TextField("person Name", text: item.name) //Error:- Cannot convert value of type 'String' to expected argument type 'Binding<String>'
Button(action: {}) {
Image(systemName: "minus.circle")
.foregroundColor(.red)
}
}
}
}
.frame(width: screen.width, height: screen.height)
@ObservedObject var store=PeopleAllData()
名单{
ForEach(store.peopleStore){item in
HStack{
TextField(“人名”,text:item.Name)//错误:-无法将“String”类型的值转换为预期的参数类型“Binding”
按钮(操作:{}){
图像(系统名称:“减号圆”)
.foregroundColor(.red)
}
}
}
}
.框架(宽度:屏幕宽度,高度:屏幕高度)
您需要通过ObservedObject
将绑定到数组元素,如下所示
ForEach(store.peopleStore.indices, id: \.self){ i in
HStack {
TextField("person Name", text: $store.peopleStore[i].name)
这回答了你的问题吗?你能不能也解释一下我做错了什么,为什么你的解决方案有效?