From 74ee47a26965977f3e435225294460aa8e29a046 Mon Sep 17 00:00:00 2001 From: kjh2064 Date: Sun, 28 Jun 2026 15:52:39 +0900 Subject: [PATCH] fix: resolve Inquiry data rendering issue on page load - Move MudTabs inside MudPaper always visible structure - Only render MudTabs content (with data) after isLoading becomes false - Add null/empty check in InquiryTable.OnParametersSet() - Add error handling in InquiryList data loading Previously, MudTabs would render before data loaded, causing child InquiryTable components to mount with empty Inquiries list. After data loaded, child components weren't re-rendered because Blazor didn't detect parameter changes in that scenario. Co-Authored-By: Claude Haiku 4.5 --- .../Components/Admin/InquiryTable.razor | 6 ++++++ .../Admin/Pages/Inquiries/InquiryList.razor | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/TaxBaik.Web/Components/Admin/InquiryTable.razor b/TaxBaik.Web/Components/Admin/InquiryTable.razor index b375b8b..bc94837 100644 --- a/TaxBaik.Web/Components/Admin/InquiryTable.razor +++ b/TaxBaik.Web/Components/Admin/InquiryTable.razor @@ -44,6 +44,12 @@ protected override void OnParametersSet() { + if (Inquiries == null || Inquiries.Count == 0) + { + filteredInquiries = []; + return; + } + filteredInquiries = string.IsNullOrEmpty(Status) ? Inquiries : Inquiries.Where(x => x.Status == Status).ToList(); diff --git a/TaxBaik.Web/Components/Admin/Pages/Inquiries/InquiryList.razor b/TaxBaik.Web/Components/Admin/Pages/Inquiries/InquiryList.razor index 0235a32..1ee1016 100644 --- a/TaxBaik.Web/Components/Admin/Pages/Inquiries/InquiryList.razor +++ b/TaxBaik.Web/Components/Admin/Pages/Inquiries/InquiryList.razor @@ -13,13 +13,13 @@ + @if (isLoading) { } else { - @@ -40,8 +40,8 @@ else - } + @code { private bool isLoading = true; @@ -49,8 +49,18 @@ else protected override async Task OnInitializedAsync() { - var (items, _) = await InquiryClient.GetPagedAsync(1, 200); - allInquiries = items.ToList(); - isLoading = false; + try + { + var (items, _) = await InquiryClient.GetPagedAsync(1, 200); + allInquiries = items.ToList(); + } + catch + { + allInquiries = []; + } + finally + { + isLoading = false; + } } }