ios SwiftUI选择器:选择“nil”无效,并且没有关联的标签,这将给出给予未定义的结果

6rqinv9w  于 2023-11-19  发布在  iOS
关注(0)|答案(1)|浏览(122)

我正在尝试使用@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 ...

字符串

wr98u20j

wr98u20j1#

你可以试试这个代码:

Text("SelectCustomer").tag(nil as Customer?)

字符串

ForEach(customers, id: \.self){ customer in  ....


如果将idIdentifiable添加到Customer模型,则可以使用

ForEach(customers){ customer in  ....


错误来自Text("SelectCustomer").tag(Optional<String>(nil))
Picker的每个元素的标记必须与selectedCustomer: Customer?匹配。因此,您可以看到Optional<String>不是Customer?类型。如果您真的需要,您也可以让Optional<String>

Text("SelectCustomer").tag(Optional<Customer>(nil))

相关问题