在Blazor中,如果希望创建一个通用的组件,其中包含一个事件回调,则可以使用泛型类型参数并将其作为参数传递。以下是一个示例:
//泛型组件
public class MyGenericComponent : ComponentBase
{
[Parameter]
public T Value { get; set; }
[Parameter]
public EventCallback ValueChanged { get; set; }
protected void OnValueChanged(T newValue)
{
Value = newValue;
ValueChanged.InvokeAsync(newValue);
}
}
//使用组件
Value="@myString" ValueChanged="@((newValue) => myString = newValue)" />
在使用组件时,可以将值类型作为泛型类型参数,并将事件回调作为参数传递。在组件中,Value属性和ValueChanged事件回调将根据指定的泛型类型进行声明。在OnValueChanged方法中,使用InvokeAsync方法来调用事件回调并传递新值。
通过使用这种方法,可以轻松地创建可重用的通用组件,并使用常规的事件回调将其集成到应用程序中。