Am constatat că masa noua componenta a SwiftUI 3.0 este ca o jucărie, care pot fi utilizate cu ușurință, dar este dificil de a extinde mai multe funcții.
TableRow și TableColumn moșteni de la valoarea obiectului. Cum pot obține punctul de vedere al unui rând? Vreau să setați un alt ContextMenu pentru fiecare rând. În plus, vreau să setați ContextMenu pentru antetul de coloană.
Cum să-l pună în aplicare, pe baza de Tabel component? Nu vreau să folosesc Lista de componente.
struct Person: Identifiable {
let givenName: String
let familyName: String
let id = UUID()
}
@State private var people = [
Person(givenName: "Juan", familyName: "Chavez"),
Person(givenName: "Mei", familyName: "Chen"),
Person(givenName: "Tom", familyName: "Clark"),
Person(givenName: "Gita", familyName: "Kumar"),
]
@State private var sortOrder = [KeyPathComparator(\Person.givenName)]
var body: some View {
Table(people, sortOrder: $sortOrder) {
TableColumn("Given Name", value: \.givenName)
TableColumn("Family Name", value: \.familyName)
}
.onChange(of: sortOrder) {
people.sort(using: $0)
}
}