diff --git a/src/BootstrapBlazor/Components/Button/ButtonBase.cs b/src/BootstrapBlazor/Components/Button/ButtonBase.cs
index 31f97e4be12..a854bdb69c6 100644
--- a/src/BootstrapBlazor/Components/Button/ButtonBase.cs
+++ b/src/BootstrapBlazor/Components/Button/ButtonBase.cs
@@ -3,8 +3,6 @@
// See the LICENSE file in the project root for more information.
// Maintainer: Argo Zhang(argo@live.ca) Website: https://www.blazor.zone
-using Microsoft.AspNetCore.Components.Web;
-
namespace BootstrapBlazor.Components;
///
@@ -65,7 +63,7 @@ public abstract class ButtonBase : TooltipWrapperBase
/// Gets or sets the OnClick event
///
[Parameter]
- public EventCallback OnClick { get; set; }
+ public EventCallback OnClick { get; set; }
///
/// 获得/设置 OnClick 事件不刷新父组件
@@ -206,8 +204,7 @@ protected override void OnInitialized()
}
///
- /// OnParametersSet 方法
- /// OnParametersSet method
+ ///
///
protected override void OnParametersSet()
{
@@ -223,8 +220,7 @@ protected override void OnParametersSet()
private bool _prevDisable;
///
- /// OnAfterRenderAsync 方法
- /// OnAfterRenderAsync method
+ ///
///
///
protected override async Task OnAfterRenderAsync(bool firstRender)
@@ -329,14 +325,23 @@ public virtual async Task RemoveTooltip()
}
///
- /// DisposeAsyncCore 方法
- /// DisposeAsyncCore method
+ ///
///
///
protected override async ValueTask DisposeAsync(bool disposing)
{
if (disposing)
{
+ if (OnClick.HasDelegate)
+ {
+ OnClick = EventCallback.Empty;
+ }
+
+ if (IsAsync && ValidateForm != null)
+ {
+ ValidateForm.UnregisterAsyncSubmitButton(this);
+ }
+
await RemoveTooltip();
}
await base.DisposeAsync(disposing);