ฉันเจอคนใหม่โต๊ะส่วนประกอบของ SwiftUI 3.0 เป็นเหมือนเป็นของเล่นซึ่งสามารถถูกใช้อย่างง่ายดายแต่มันเป็นเรื่องยากที่จะขยายมากกฟังก์ชัน.
TableRow และ TableColumn สืบทอดจากค่าวัตถุ. ยังไงฉันเข้าใจมุมมองของแถว? ฉันต้องการจะตั้งค่าต่างออก ContextMenu สำหรับแต่ละแถวด้วย ที่เพิ่มมานอกเหนือจากฉันต้องการเพื่อใช้ตั้งค่า ContextMenu สำหรับส่วนหัวสดมภ์.
วิธีที่จะรับคำสั่งเข้าใจมันร้องบนพื้นฐานของโต๊ะส่วนประกอบ? ฉันไม่ต้องการจะใช้รายการส่วนประกอบ.
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)
}
}