SwiftUİ 3.0'ın yeni tablo bileşeninin kolayca kullanılabilen bir oyuncak gibi olduğunu, ancak daha fazla işlevi genişletmenin zor olduğunu buldum.
TableRow ve TableColumn değer nesnesinden devralır. Bir sıranın görüntüsünü nasıl alabilirim? Her satır için farklı bir ContextMenu ayarlamak istiyorum. Ayrıca, sütun başlığı için contextmenu'yu ayarlamak istiyorum.
Tablo bileşeni temelinde nasıl uygulanır? Liste bileşenini kullanmak istemiyorum.
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)
}
}