diff --git a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs
index b6b195dd3fe..d299ef66cb2 100644
--- a/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs
+++ b/src/BootstrapBlazor/Components/ErrorLogger/ErrorLogger.cs
@@ -22,13 +22,13 @@ public class ErrorLogger : ComponentBase, IErrorLogger
///
///
[Parameter]
- public bool EnableErrorLogger { get; set; } = true;
+ public bool? EnableErrorLogger { get; set; }
///
///
///
[Parameter]
- public bool ShowToast { get; set; } = true;
+ public bool? ShowToast { get; set; }
///
///
@@ -62,9 +62,17 @@ public class ErrorLogger : ComponentBase, IErrorLogger
[Parameter]
public Func? OnInitializedCallback { get; set; }
+ [Inject]
+ [NotNull]
+ private IOptionsMonitor? Options { get; set; }
+
[NotNull]
private BootstrapBlazorErrorBoundary? _errorBoundary = default;
+ private bool _enableErrorLogger => EnableErrorLogger ?? Options.CurrentValue.EnableErrorLogger;
+
+ private bool _showToast => ShowToast ?? Options.CurrentValue.ShowErrorLoggerToast;
+
///
///
///
@@ -102,13 +110,13 @@ protected override void BuildRenderTree(RenderTreeBuilder builder)
builder.CloseComponent();
}
- private RenderFragment? RenderContent => EnableErrorLogger ? RenderError : ChildContent;
+ private RenderFragment? RenderContent => _enableErrorLogger ? RenderError : ChildContent;
private RenderFragment RenderError => builder =>
{
builder.OpenComponent(0);
builder.AddAttribute(1, nameof(BootstrapBlazorErrorBoundary.OnErrorHandleAsync), OnErrorHandleAsync);
- builder.AddAttribute(2, nameof(BootstrapBlazorErrorBoundary.ShowToast), ShowToast);
+ builder.AddAttribute(2, nameof(BootstrapBlazorErrorBoundary.ShowToast), _showToast);
builder.AddAttribute(3, nameof(BootstrapBlazorErrorBoundary.ToastTitle), ToastTitle);
builder.AddAttribute(4, nameof(BootstrapBlazorErrorBoundary.ErrorContent), ErrorContent);
builder.AddAttribute(5, nameof(BootstrapBlazorErrorBoundary.ChildContent), ChildContent);
diff --git a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs
index 5d30ae21cb3..2d449b05501 100644
--- a/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs
+++ b/src/BootstrapBlazor/Components/ErrorLogger/IErrorLogger.cs
@@ -11,9 +11,9 @@ namespace BootstrapBlazor.Components;
public interface IErrorLogger
{
///
- /// 获得/设置 是否开启全局异常捕获 默认 true
+ /// 获得/设置 是否开启全局异常捕获 默认 null 使用全局配置 值
///
- bool EnableErrorLogger { get; set; }
+ bool? EnableErrorLogger { get; set; }
///
/// 获得/设置 自定义 Error 处理方法 默认 null
@@ -23,9 +23,9 @@ public interface IErrorLogger
Task HandlerExceptionAsync(Exception ex);
///
- /// 获得 是否显示 Error 提示弹窗 默认 true 显示
+ /// 获得 是否显示 Error 提示弹窗 默认 null 使用全局配置 值
///
- bool ShowToast { get; }
+ bool? ShowToast { get; }
///
/// 获得 Error Toast 弹窗标题 默认读取资源文件内容
diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor b/src/BootstrapBlazor/Components/Layout/Layout.razor
index a7e689ea1cf..2b1826f1725 100644
--- a/src/BootstrapBlazor/Components/Layout/Layout.razor
+++ b/src/BootstrapBlazor/Components/Layout/Layout.razor
@@ -126,7 +126,7 @@
}
else
{
-
@HandlerMain()
diff --git a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs
index 191a13a232f..fb28b9cd819 100644
--- a/src/BootstrapBlazor/Components/Layout/Layout.razor.cs
+++ b/src/BootstrapBlazor/Components/Layout/Layout.razor.cs
@@ -483,10 +483,6 @@ public partial class Layout : IHandlerException, ITabHeader
[CascadingParameter]
private Task? AuthenticationStateTask { get; set; }
- [Inject]
- [NotNull]
- private IOptionsMonitor? Options { get; set; }
-
[Inject, NotNull]
private IServiceProvider? ServiceProvider { get; set; }
@@ -499,10 +495,6 @@ public partial class Layout : IHandlerException, ITabHeader
private ITabHeader? TabHeader => ShowTabInHeader ? this : null;
- private bool _enableErrorLoggerValue => EnableErrorLogger ?? Options.CurrentValue.EnableErrorLogger;
-
- private bool _showToast => ShowErrorLoggerToast ?? Options.CurrentValue.ShowErrorLoggerToast;
-
///
///
///
diff --git a/test/UnitTest/Components/LayoutTest.cs b/test/UnitTest/Components/LayoutTest.cs
index fa8c89418d0..2224df22b62 100644
--- a/test/UnitTest/Components/LayoutTest.cs
+++ b/test/UnitTest/Components/LayoutTest.cs
@@ -535,6 +535,7 @@ public void IHandlerException_Ok()
pb.Add(a => a.EnableErrorLogger, true);
pb.AddChildContent(pb =>
{
+ pb.Add(a => a.EnableErrorLogger, true);
// 按钮触发异常
pb.Add(a => a.Main, new RenderFragment(builder =>
{