首页 > 解决方案 > Blazor 将 EventCallback 从 RenderFragment 传递到模板化组件

问题描述

嗨,从 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);
    }
}

电话组件

<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; }
    }
}

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

<GenericListComponent Items="PhoneList" TItem=Phone>
    <ChildContent Context="phone">
        <PhoneComponent Phone="phone" DeletePhone=**"?"**></PhoneComponent>
    </ChildContent>
</GenericListComponent>

标签: c#asp.netblazorblazor-server-sideblazor-client-side

解决方案


推荐阅读