fix index

This commit is contained in:
anlicheng 2025-02-21 21:58:28 +08:00
parent a50a4dc4f0
commit db894b88e5
2 changed files with 14 additions and 2 deletions

View File

@ -15,6 +15,8 @@ struct DateNavView: View {
@Binding var selectGroupId: String
@Binding var showDateNavPopover: Bool
var onSelected: (String) -> Void
var body: some View {
VStack(alignment: .center) {
ForEach(navModel.dateModels) { model in
@ -25,7 +27,11 @@ struct DateNavView: View {
if month.disabled {
DateDisabledItemView(datetime: month.name)
} else {
DateItemView(datetime: month.name, selected: month.id == selectGroupId, showDateNavPopover: $showDateNavPopover)
DateItemView(id: month.id,
datetime: month.name,
selected: month.id == selectGroupId,
showDateNavPopover: $showDateNavPopover,
onSelected: onSelected)
}
}
}
@ -45,10 +51,13 @@ struct DateNavView: View {
extension DateNavView {
struct DateItemView: View {
let id: String
let datetime: String
@State var selected: Bool
@Binding var showDateNavPopover: Bool
var onSelected: (String) -> Void
var body: some View {
Rectangle()
.frame(width: 80, height: 50)
@ -65,6 +74,7 @@ extension DateNavView {
.onTapGesture {
self.selected = true
self.showDateNavPopover = false
onSelected(id)
}
}
}

View File

@ -210,7 +210,9 @@ struct IndexView: View {
}
}
.popover(isPresented: $showDateNavPopover) {
DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover)
DateNavView(selectGroupId: self.$selectGroupId, showDateNavPopover: $showDateNavPopover) { selectedDate in
print("new selected date: " + selectedDate)
}
}
}
.task {