我正在尝试使用@Query作为数据源在SwiftUI视图中创建一个选择器视图。
不知道我缺少什么?我需要在我的模型中有一个id吗?
@Environment(\.modelContext) var modelContext
@Query var customers: [Customer]
@State private var selectedCustomer: Customer?
Section {
Picker("", selection: $selectedCustomer) {
Text("SelectCustomer").tag(Optional<String>(nil))
ForEach("", id: \.self){ customer in
Text(customer.clientName).tag(customer as Customer?)
}
}
}
import Foundation
import SwiftData
@Model
class Customer {
var dateCreated: Date
var clientName: String
var clientEmail: String
var streetAddress: String
var city: String
var state: String
var zipCode: String
var contactPerson: String
var contactEmail: String
var phone: String
var notes: String
}
// init ...
字符串
1条答案
按热度按时间wr98u20j1#
你可以试试这个代码:
字符串
和
型
如果将
id
和Identifiable
添加到Customer
模型,则可以使用型
错误来自
Text("SelectCustomer").tag(Optional<String>(nil))
。Picker
的每个元素的标记必须与selectedCustomer: Customer?
匹配。因此,您可以看到Optional<String>
不是Customer?
类型。如果您真的需要,您也可以让Optional<String>
型