Blazor 将 EventCallback 从 RenderFragment 传递到模板化组件

vrs*_*vrs 7 c# asp.net blazor blazor-server-side blazor-client-side

您好,需要有关从 RederFragment 组件到父方法的事件回调的帮助,下面是代码片段

通用列表组件

@typeparam TItem

@foreach (var item in Items)
{
    @ChildContent(item)
}


@code {

    [Parameter] public List<TItem> Items { get; set; }
    [Parameter] public RenderFragment<TItem> ChildContent { get; set; }

    void DeleteItem(TItem item)
    {
        Items.Remove(item);
        InvokeAsync(StateHasChanged);
    }
}
Run Code Online (Sandbox Code Playgroud)

电话组件

<InputText @bind-Value="NewPhone.PhoneNumber"></InputText>

@code {
    public Phone NewPhone { get; set; }
    [Parameter] public EventCallback<Phone> DeletePhone { get; set; }

    public class Phone
    {
        public int Id { get; set; }
        public string PhoneNumber { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我使用 GenericList 组件时,如何将 EventCallback DeletePhone 传递给 GenericList 上的删除方法

<GenericListComponent Items="PhoneList" TItem=Phone>
    <ChildContent Context="phone">
        <PhoneComponent Phone="phone" DeletePhone=**"?"**></PhoneComponent>
    </ChildContent>
</GenericListComponent>
Run Code Online (Sandbox Code Playgroud)

Juk*_*nen 0

我一直在寻找同样的东西,但不幸的是似乎不支持 EventCallbacks。或者 MS 文档中是这么说的。 在此输入图像描述

https://learn.microsoft.com/en-us/aspnet/core/blazor/components/?view=aspnetcore-7.0#child-content-render-fragments