动态更改 Blazor 组件的事件回调参数

Change dynamically the event callback parameter of a Blazor component

提问人:Sylvain Gantois 提问时间:3/3/2023 最后编辑:Sylvain Gantois 更新时间:3/3/2023 访问量:448

问:

我有一个 Blazor 组件,它可以采用各种参数,包括 EventCallback。

下面的代码将起作用,但我无法更改回调:

<ModalDialog
        Title="@_dialogTitle" 
        Message="@_dialogMessage" 
        Layout="@_dialogType" 
        OnClose="DummyCallback" />

我想做的是这样的事情

<ModalDialog
        Title="@_dialogTitle" 
        Message="@_dialogMessage" 
        Layout="@_dialogType" 
        OnClose="@_callback" />

结合

private EventCallback<bool> _callback;

根据父组件的状态,我想为 ModalDialog 组件分配一个不同的回调:

_callback = DummyCallback;

但这给了我一个错误:

CS0428  Cannot convert method group 'DummyCallback' to non-delegate type 'EventCallback<bool>'. Did you intend to invoke the method?        C:\xxxxx\xxxxx.razor    161 

我可以多次包含此组件,并且每个组件将采用不同的回调,但在这里我只想包含此组件一次。

C# 回调 Blazor

评论


答:

1赞 Mister Magoo 3/3/2023 #1

你只是有错误的类型_callback

试试这个:

private Action<bool> _callback;

您现在可以将目标更改为任何接受布尔值的方法。