From db894b88e556f79602e88aad593f4644c2713892 Mon Sep 17 00:00:00 2001 From: anlicheng <244108715@qq.com> Date: Fri, 21 Feb 2025 21:58:28 +0800 Subject: [PATCH] fix index --- dimensionhub/Views/DateNavView.swift | 12 +++++++++++- dimensionhub/Views/IndexView.swift | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dimensionhub/Views/DateNavView.swift b/dimensionhub/Views/DateNavView.swift index e7a8a6c..ee82a9f 100644 --- a/dimensionhub/Views/DateNavView.swift +++ b/dimensionhub/Views/DateNavView.swift @@ -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) } } } diff --git a/dimensionhub/Views/IndexView.swift b/dimensionhub/Views/IndexView.swift index 43e59eb..86aa602 100644 --- a/dimensionhub/Views/IndexView.swift +++ b/dimensionhub/Views/IndexView.swift @@ -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 {