From 614933770e33f82b6bcbf09240a9540d2ac45b69 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 4 Jun 2025 12:40:16 +0800 Subject: [PATCH 1/4] =?UTF-8?q?refactor:=20=E5=85=B3=E9=97=AD=20TabItem=20?= =?UTF-8?q?=E7=9A=84=20Toast=20=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Tab/TabItemContent.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs index cc0af4b8653..2a1b7c5d18e 100644 --- a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs +++ b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs @@ -65,9 +65,10 @@ private RenderFragment RenderItemContent(RenderFragment? content) => builder => builder.AddAttribute(1, nameof(ErrorLogger.ChildContent), content); var enableErrorLogger = TabSet.EnableErrorLogger ?? Options.CurrentValue.EnableErrorLogger; - var showToast = TabSet.ShowErrorLoggerToast ?? Options.CurrentValue.ShowErrorLoggerToast; builder.AddAttribute(2, nameof(ErrorLogger.EnableErrorLogger), enableErrorLogger); - builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), showToast); + + // TabItem 不需要 Toast 提示错误信息 + builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), false); builder.AddAttribute(4, nameof(ErrorLogger.ToastTitle), TabSet.ErrorLoggerToastTitle); builder.AddAttribute(5, nameof(ErrorLogger.OnInitializedCallback), new Func(logger => { From a6ed9d42e226fd8fda60d21985e81db1b64d3ef0 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 4 Jun 2025 13:06:47 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E6=9B=B4=E6=94=B9=E5=8F=98?= =?UTF-8?q?=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Tab/Tab.razor | 4 ++-- .../Components/Tab/Tab.razor.cs | 21 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/BootstrapBlazor/Components/Tab/Tab.razor b/src/BootstrapBlazor/Components/Tab/Tab.razor index 7770f616e42..0575273eae3 100644 --- a/src/BootstrapBlazor/Components/Tab/Tab.razor +++ b/src/BootstrapBlazor/Components/Tab/Tab.razor @@ -21,7 +21,7 @@ else @if (IsOnlyRenderActiveTab) { - var item = Items.FirstOrDefault(i => i.IsActive); + var item = TabItems.Find(i => i.IsActive); if (item != null) { @RenderTabItem(item) @@ -29,7 +29,7 @@ else } else { - foreach (var item in Items) + foreach (var item in TabItems) { @RenderTabItem(item) } diff --git a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs index 67976808355..e85feb11b32 100644 --- a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs +++ b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs @@ -614,7 +614,7 @@ private void AddTabByUrl() if (!Excluded) { // 地址相同参数不同需要重新渲染 TabItem - var tab = Items.FirstOrDefault(tab => tab.Url.TrimStart('/').Equals(requestUrl, StringComparison.OrdinalIgnoreCase)); + var tab = TabItems.Find(tab => tab.Url.TrimStart('/').Equals(requestUrl, StringComparison.OrdinalIgnoreCase)); if (tab != null) { ActiveTabItem(tab); @@ -652,7 +652,7 @@ private async Task OnClickTabItem(TabItem item) /// public void ClickPrevTab() { - var item = Items.FirstOrDefault(i => i.IsActive); + var item = TabItems.FirstOrDefault(i => i.IsActive); if (item != null) { var index = TabItems.IndexOf(item); @@ -1036,8 +1036,8 @@ private RenderFragment RenderTabItemContent(TabItem item) => builder => [JSInvokable] public async Task DragItemCallback(int originIndex, int currentIndex) { - var firstColumn = Items.ElementAtOrDefault(originIndex); - var targetColumn = Items.ElementAtOrDefault(currentIndex); + var firstColumn = TabItems.ElementAtOrDefault(originIndex); + var targetColumn = TabItems.ElementAtOrDefault(currentIndex); if (firstColumn != null && targetColumn != null) { if (_draggedItems.Count == 0) @@ -1138,11 +1138,12 @@ private async Task OnContextMenu(MouseEventArgs e, TabItem item) private RenderFragment RenderTabList() => builder => { - if (!Items.Any() && !string.IsNullOrEmpty(DefaultUrl)) + if (TabItems.Count == 0 && !string.IsNullOrEmpty(DefaultUrl)) { if (ClickTabToNavigation) { Navigator.NavigateTo(DefaultUrl); + return; } else { @@ -1152,9 +1153,13 @@ private RenderFragment RenderTabList() => builder => if (FirstRender) { - if (!Items.Any(t => t.IsActive)) + if (TabItems.Find(t => t.IsActive) == null) { - Items.FirstOrDefault(i => i.IsDisabled == false)?.SetActive(true); + var item = TabItems.Find(i => i.IsDisabled == false); + if (item != null) + { + item.SetActive(true); + } } } @@ -1186,7 +1191,7 @@ private RenderFragment RenderContextMenuZoneContent() => builder => private RenderFragment RenderTabItems() => builder => { - foreach (var item in Items) + foreach (var item in TabItems) { if (item.HeaderTemplate != null) { From 1f0fb96af58b520e88beb710297b58e14d75aef9 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 4 Jun 2025 13:08:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?refactor:=20ShowToast=20=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=80=BC=E6=9B=B4=E6=94=B9=E4=B8=BA=20false?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Tab/TabItemContent.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs index 2a1b7c5d18e..f0072c1560c 100644 --- a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs +++ b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs @@ -68,7 +68,8 @@ private RenderFragment RenderItemContent(RenderFragment? content) => builder => builder.AddAttribute(2, nameof(ErrorLogger.EnableErrorLogger), enableErrorLogger); // TabItem 不需要 Toast 提示错误信息 - builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), false); + var showToast = TabSet.ShowErrorLoggerToast ?? false; + builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), showToast); builder.AddAttribute(4, nameof(ErrorLogger.ToastTitle), TabSet.ErrorLoggerToastTitle); builder.AddAttribute(5, nameof(ErrorLogger.OnInitializedCallback), new Func(logger => { From 3a99a833a1394b4fd668f51572086fb73b3aea44 Mon Sep 17 00:00:00 2001 From: Argo Zhang Date: Wed, 4 Jun 2025 13:17:38 +0800 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=20ShowErrorL?= =?UTF-8?q?oggerToast=20=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/BootstrapBlazor/Components/Layout/Layout.razor | 3 +-- src/BootstrapBlazor/Components/Tab/Tab.razor.cs | 6 ------ src/BootstrapBlazor/Components/Tab/TabItemContent.cs | 3 +-- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor b/src/BootstrapBlazor/Components/Layout/Layout.razor index e21e9a40bd1..49d8adb1b04 100644 --- a/src/BootstrapBlazor/Components/Layout/Layout.razor +++ b/src/BootstrapBlazor/Components/Layout/Layout.razor @@ -148,8 +148,7 @@ RefreshToolbarTooltipText="@RefreshToolbarTooltipText" FullscreenToolbarTooltipText="@FullscreenToolbarTooltipText" OnToolbarRefreshCallback="OnToolbarRefreshCallback" TabHeader="TabHeader" Body="@Main" NotAuthorized="NotAuthorized!" NotFound="NotFound!" NotFoundTabText="@NotFoundTabText" - EnableErrorLogger="@_enableErrorLogger" ShowErrorLoggerToast="@_showToast" - ErrorLoggerToastTitle="@ErrorLoggerToastTitle"> + EnableErrorLogger="@_enableErrorLogger" ErrorLoggerToastTitle="@ErrorLoggerToastTitle"> ; RenderFragment RenderFooter => diff --git a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs index e85feb11b32..2572e9c1d9d 100644 --- a/src/BootstrapBlazor/Components/Tab/Tab.razor.cs +++ b/src/BootstrapBlazor/Components/Tab/Tab.razor.cs @@ -437,12 +437,6 @@ public partial class Tab [Parameter] public bool? EnableErrorLogger { get; set; } - /// - /// 获得/设置 是否显示 Error 提示弹窗 默认 null 使用 设置值 - /// - [Parameter] - public bool? ShowErrorLoggerToast { get; set; } - /// /// 获得/设置 错误日志 弹窗标题 默认 null /// diff --git a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs index f0072c1560c..2a1b7c5d18e 100644 --- a/src/BootstrapBlazor/Components/Tab/TabItemContent.cs +++ b/src/BootstrapBlazor/Components/Tab/TabItemContent.cs @@ -68,8 +68,7 @@ private RenderFragment RenderItemContent(RenderFragment? content) => builder => builder.AddAttribute(2, nameof(ErrorLogger.EnableErrorLogger), enableErrorLogger); // TabItem 不需要 Toast 提示错误信息 - var showToast = TabSet.ShowErrorLoggerToast ?? false; - builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), showToast); + builder.AddAttribute(3, nameof(ErrorLogger.ShowToast), false); builder.AddAttribute(4, nameof(ErrorLogger.ToastTitle), TabSet.ErrorLoggerToastTitle); builder.AddAttribute(5, nameof(ErrorLogger.OnInitializedCallback), new Func(logger => {