diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index fe19cfed47e..e38635c221e 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 9.6.5-beta01 + 9.6.5-beta02 diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs index b3a1715cb66..dc206c8410d 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs +++ b/src/BootstrapBlazor/Components/Table/Table.razor.Toolbar.cs @@ -545,6 +545,7 @@ public async Task EditAsync() if (SelectedRows.Count == 1) { // 检查是否选中了不可编辑行(行内无编辑按钮),同时检查按钮禁用状态(禁用时不可编辑) + // ShowExtendEditButton 不参与逻辑,不显示扩展编辑按钮时用户可能自定义按钮调用 EditAsync 方法 if (ProhibitEdit()) { // 提示不可编辑 @@ -1004,12 +1005,10 @@ protected async Task ConfirmDelete() } private bool ProhibitEdit() => (ShowExtendEditButtonCallback != null && !ShowExtendEditButtonCallback(SelectedRows[0])) - || !ShowExtendEditButton - || (DisableExtendEditButtonCallback != null && DisableExtendEditButtonCallback(SelectedRows[0])) - || DisableExtendEditButton; + || (DisableExtendEditButtonCallback != null && DisableExtendEditButtonCallback(SelectedRows[0])) + || DisableExtendEditButton; private bool ProhibitDelete() => (ShowExtendDeleteButtonCallback != null && SelectedRows.Any(i => !ShowExtendDeleteButtonCallback(i))) - || !ShowExtendDeleteButton || (DisableExtendDeleteButtonCallback != null && SelectedRows.Any(x => DisableExtendDeleteButtonCallback(x))) || DisableExtendDeleteButton; diff --git a/test/UnitTest/Components/TableTest.cs b/test/UnitTest/Components/TableTest.cs index 3b23a460442..79228c72651 100644 --- a/test/UnitTest/Components/TableTest.cs +++ b/test/UnitTest/Components/TableTest.cs @@ -8679,8 +8679,10 @@ public void Modify_Ok() pb.Add(a => a.ShowExtendEditButton, false); pb.Add(a => a.ShowExtendDeleteButton, false); }); - Assert.True(ProhibitEdit(cut.Instance)); - Assert.True(ProhibitDelete(cut.Instance)); + + // 不显示编辑删除按钮不参与是否可编辑删除判断,用户可能自定义按钮编辑或者删除当前行 + Assert.False(ProhibitEdit(cut.Instance)); + Assert.False(ProhibitDelete(cut.Instance)); cut.SetParametersAndRender(pb => {