在Blazor组件中,如果想要接收事件回调(EventCallback)作为参数,有时候需要使用特殊的符号表示法。
具体来说,如果要传递一个名为onValueChanged的EventCallback
注意到OnValueChanged双引号内的@符号和括号,这个表示法需要在属性名称和方法调用之间插入一个表达式,以将EventCallback参数拆分为其成员函数。
在组件代码中必须先声明事件回调参数:
[Parameter] public EventCallback OnValueChanged { get; set; }
而且组件内部的事件调用方法需要使用EventCallback而不是直接使用SomeType:
private async Task HandleValueChanged(SomeType value)
{
await OnValueChanged.InvokeAsync(value);
}
这样,调用组件时,就可以将OnValueChanged属性绑定到调用组件时的回调方法。
上一篇:Blazor组件动态授权
下一篇:Blazor组件方法的性能