You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何取消Syncfusion Blazor Grid关闭对话框后工具栏按钮的选中状态

问题原因

你在工具栏点击事件中设置了Args.Cancel = true阻止了Grid的默认编辑/新增逻辑,导致Syncfusion工具栏按钮的激活状态没有自动复位,不需要传递按钮引用,通过框架内置API即可解决。

解决步骤

步骤1:修改可复用对话框组件,添加关闭回调

在ReusableDialog的代码块中新增关闭事件参数:

[Parameter]
public EventCallback OnDialogClosed { get; set; }

修改SaveClick方法(注意将返回值从void改为Task),关闭对话框后触发回调:

private async Task SaveClick()
{
    if (editContext.Validate())
    {
        Logger.LogInformation("Validation Succeeded");
        if (Mode == "Create")
        {
            this.template.UserName = "Bryan Schmiedeler";
            WireDeskService.InsertTemplate(template);
            this.DataChanged();
            this.IsOpen = false;
            Logger.LogInformation("Create Validation Passed");

        }
        else if (Mode == "Update")
        {
            this.template.UserName = "Bryan Schmiedeler";
            WireDeskService.UpdateTemplate(template.TemplateId, template);
            this.DataChanged();
            this.IsOpen = false;
            this.IsClosed = "OK Clicked";
            Logger.LogInformation("Update Validation Passed");
        }
        // 触发关闭回调
        await OnDialogClosed.InvokeAsync();
    }
    else
    {
        IsOpen = true;
        Logger.LogInformation("Validation Failed");
    }
}

修改CancelClick方法,关闭对话框后也触发回调:

public async Task CancelClick()
{
    IsOpen = false;
    await OnDialogClosed.InvokeAsync();
    this.StateHasChanged();
}

步骤2:修改主页面,绑定回调清除工具栏选中状态

修改主页面中ReusableDialog的标签,绑定关闭回调:

<ReusableDialog @ref="dialog" DataChanged="@DataChanged" OnDialogClosed="@ClearToolbarSelection"></ReusableDialog>

在主页面的代码块中新增ClearToolbarSelection方法:

private async Task ClearToolbarSelection()
{
    // 获取Grid内置工具栏实例
    var toolbar = await Grid.GetToolbarAsync();
    // 清除工具栏按钮的选中状态
    await toolbar.ClearSelectionAsync();
}

修改完成后,不管是点击保存还是取消关闭对话框,都会自动清除工具栏按钮的选中状态。

内容的提问来源于stack exchange,提问作者Bryan Schmiedeler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 13:27:03