diff --git a/src/BootstrapBlazor.Server/Components/Samples/Consoles.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/Consoles.razor.cs index 2d0f052b962..ed79bcfc758 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/Consoles.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/Consoles.razor.cs @@ -19,7 +19,11 @@ public sealed partial class Consoles /// /// OnClear /// - private void OnClear() => Messages.Clear(); + private Task OnClear() + { + Messages.Clear(); + return Task.CompletedTask; + } /// /// GetColor diff --git a/src/BootstrapBlazor/Components/Console/Console.razor b/src/BootstrapBlazor/Components/Console/Console.razor index e8257a24540..349a2aa03ba 100644 --- a/src/BootstrapBlazor/Components/Console/Console.razor +++ b/src/BootstrapBlazor/Components/Console/Console.razor @@ -47,7 +47,8 @@ } @if (OnClear != null) { - } } diff --git a/src/BootstrapBlazor/Components/Console/Console.razor.cs b/src/BootstrapBlazor/Components/Console/Console.razor.cs index 39447b023ff..bebb06a2530 100644 --- a/src/BootstrapBlazor/Components/Console/Console.razor.cs +++ b/src/BootstrapBlazor/Components/Console/Console.razor.cs @@ -121,7 +121,7 @@ public partial class Console /// 获得/设置 清空委托方法 /// [Parameter] - public Action? OnClear { get; set; } + public Func? OnClear { get; set; } /// /// 获得/设置 组件高度 默认为 126px; @@ -150,7 +150,7 @@ public partial class Console /// /// 获得 是否显示 Footer /// - protected bool ShowFooter => OnClear != null || ShowAutoScroll || FooterTemplate != null; + private bool ShowFooter => OnClear != null || ShowAutoScroll || FooterTemplate != null; [Inject] [NotNull] @@ -194,8 +194,11 @@ protected override async Task OnAfterRenderAsync(bool firstRender) /// /// 清空控制台消息方法 /// - public void ClearConsole() + public async Task OnClearConsole() { - OnClear?.Invoke(); + if (OnClear != null) + { + await OnClear(); + } } } diff --git a/test/UnitTest/Components/ConsoleTest.cs b/test/UnitTest/Components/ConsoleTest.cs index 78a1393bdcb..960067380bc 100644 --- a/test/UnitTest/Components/ConsoleTest.cs +++ b/test/UnitTest/Components/ConsoleTest.cs @@ -52,7 +52,7 @@ public void Items_OK() } [Fact] - public void OnClear_OK() + public async Task OnClear_OK() { var clearClicked = false; var cut = Context.RenderComponent(builder => @@ -66,13 +66,14 @@ public void OnClear_OK() Assert.False(clearClicked); // 实例触发 OnClear 方法 - cut.Instance.ClearConsole(); + await cut.Instance.OnClearConsole(); cut.SetParametersAndRender(pb => { - pb.Add(a => a.OnClear, new Action(() => + pb.Add(a => a.OnClear, new Func(() => { clearClicked = true; + return Task.CompletedTask; })); }); cut.Find(".btn-secondary").Click(); @@ -88,7 +89,7 @@ public void ClearButtonText_OK() { new() { Message = "Test1" }, new() { Message = "Test2" } }); - builder.Add(a => a.OnClear, new Action(() => { })); + builder.Add(a => a.OnClear, () => Task.CompletedTask); builder.Add(a => a.ClearButtonText, "Console Clear"); }); @@ -104,7 +105,7 @@ public void OnClearButtonText_OK() { new() { Message = "Test1" }, new() { Message = "Test2" } }); - builder.Add(a => a.OnClear, new Action(() => { })); + builder.Add(a => a.OnClear, () => Task.CompletedTask); builder.Add(a => a.ClearButtonIcon, "fa-solid fa-xmark"); }); @@ -121,7 +122,7 @@ public void ClearButtonColor_OK() { new() { Message = "Test1" }, new() { Message = "Test2" } }); - builder.Add(a => a.OnClear, new Action(() => { })); + builder.Add(a => a.OnClear, () => Task.CompletedTask); builder.Add(a => a.ClearButtonColor, Color.Primary); });