diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.scss b/src/BootstrapBlazor/Components/Table/Table.razor.scss index 473772d463d..3a55e3396e0 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.scss +++ b/src/BootstrapBlazor/Components/Table/Table.razor.scss @@ -327,7 +327,14 @@ .btn-gear .dropdown-menu .dropdown-item { padding: 6px 12px; display: table-cell; - color: #504d4d; + + &:not(.disabled) { + color: #504d4d; + } + + &.disabled { + pointer-events: auto; + } } .btn-gear .dropdown-menu .dropdown-item:not(:first-child) { diff --git a/src/BootstrapBlazor/Components/Table/TableToolbar.razor b/src/BootstrapBlazor/Components/Table/TableToolbar.razor index 44687e8973c..d3a6b821c10 100644 --- a/src/BootstrapBlazor/Components/Table/TableToolbar.razor +++ b/src/BootstrapBlazor/Components/Table/TableToolbar.razor @@ -11,7 +11,7 @@
@foreach (var button in _buttons) { - @if (button is TableToolbarButton b && b.IsShow) + @if (button is TableToolbarButton { IsShow: true } b) { } - else if (button is TableToolbarPopConfirmButton pb && pb.IsShow) + else if (button is TableToolbarPopConfirmButton { IsShow: true } pb) { } - else if (button is TableToolbarComponent cb && cb.IsShow) + else if (button is TableToolbarComponent { IsShow: true } cb) { @cb.ChildContent @@ -48,31 +48,36 @@ diff --git a/src/BootstrapBlazor/Components/Table/TableToolbar.razor.cs b/src/BootstrapBlazor/Components/Table/TableToolbar.razor.cs index 5727997e578..0d8516e4617 100644 --- a/src/BootstrapBlazor/Components/Table/TableToolbar.razor.cs +++ b/src/BootstrapBlazor/Components/Table/TableToolbar.razor.cs @@ -50,6 +50,10 @@ public partial class TableToolbar : ComponentBase .AddClass("d-none d-sm-inline-flex", IsAutoCollapsedToolbarButton) .Build(); + private string? GetItemClass(ButtonBase button) => CssBuilder.Default("dropdown-item") + .AddClass("disabled", GetDisabled(button)) + .Build(); + private async Task OnToolbarButtonClick(TableToolbarButton button) { _asyncButtonStateCache.TryGetValue(button, out var disabled);