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);
});