如何从 MudCheckBox 控件调用 CheckedChanged

bho*_*hoo 1 c# blazor mudblazor

请帮我。

我没有找到 MudCheckBox 的任何 CheckedChanged 示例。我得到的结果仅与输入控制相关。

<input type="checkbox" @onchange="HandleCheck" />
Run Code Online (Sandbox Code Playgroud)

我尝试了这些文档,但没有得到MudCheckBox的确切示例。我能够成功绑定到 IsCheckedTrue 属性。该复选框位于 MudTable 内。我想调用CheckedChanged事件。

<MudCheckBox @bind-Checked="@context.IsCheckedTrue" Color="Color.Secondary" CheckedIcon="@Icons.Material.Filled.RadioButtonChecked" UncheckedIcon="@Icons.Material.Filled.RadioButtonUnchecked"></MudCheckBox>
Run Code Online (Sandbox Code Playgroud)

MrC*_*tis 5

This should work using the new setters and getters.

<MudCheckBox @bind-Checked:get=context.IsCheckedTrue @bind-Checked:set=HandleCheck />

@code {
    private Task HandleCheck(bool value)
    {
        // Set the value in the model
        // Do what you want
        return Task.CompletedTask;
    }
}
Run Code Online (Sandbox Code Playgroud)

Or setting the parameters directly:

<MudCheckBox Checked=context.IsCheckedTrue CheckedChanged=HandleCheck />

@code {
    private Task HandleCheck(bool value)
    {
        // Set the value in the model
        // Do what you want
        return Task.CompletedTask;
    }
}
Run Code Online (Sandbox Code Playgroud)

You should also be able to do this, but there's been compiler problems with this syntax, so it may throw errors:

<MudCheckBox @bind-Checked=context.IsCheckedTrue @bind-Value:after="HandleAfter" />

@code {
    private Task HandleAfter()
    {
        // Do what you want
        return Task.CompletedTask;
    }
}
Run Code Online (Sandbox Code Playgroud)