Eu achei que a nova tabela de componentes de SwiftUI 3.0 é como um brinquedo, que pode ser facilmente utilizado, mas é difícil para expandir mais funções.
TableRow e TableColumn herdar do objecto de valor. Como posso obter a visão de uma linha? Eu quero definir um diferente ContextMenu para cada linha. Além disso, eu quero definir o ContextMenu para o cabeçalho de coluna.
Como implementá-lo na base da Tabela de componentes? Eu não quero usar o componente de Lista.
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)
}
}