gpt4 book ai didi

c# - 将多个子组件作为参数传递

转载 作者:行者123 更新时间:2023-12-05 00:45:55 26 4
gpt4 key购买 nike

所以使用组件应该是这样的:

<ParentListComponent Header="Test">
<ChildListItemComponent Name="1"/>
<ChildListItemComponent Name="2"/>
<ChildListItemComponent Name="3"/>
<ChildListItemComponent Name="4"/>
</ParentListComponent>

ParentListComponent 看起来像这样:

@foreach(var childComponent in listComponents){
@childComponent
}

@code{

[Parameter]
Public List<ChildListItemComponent> listComponents { get; set; }
}

我知道我可以通过将其作为 ChildContent 传递(如下所示)来轻松呈现它,但我真的很想保留该列表,以便我可以轻松地从父项访问每个​​项目。

[Parameter]
public RenderFragment ChildContent { get; set; }

我觉得我只是错过了这里的语法,但不幸的是我找不到这方面的信息。如果您能提供帮助,我将不胜感激。

最佳答案

您将创建一个 ParentComponent 和一个 ChildComponentParentComponent 的标记将具有以下内容

<CascadingValue Value=this>
@ChildContent
</CascadingValue>

@code
{
[Parameter]
public RenderFragment ChildContent { get; set; }
}

现在您的 child 将可以像这样访问 parent

[CascadingParameter]
public ParentComponent ParentComponent { get; set; }

OnInitialized 方法中你可以调用 ParentComponent.RegisterChild(this);IDisposable.Dispose 中你可以调用 ParentComponent .UnregisterChild(this);

这是您自己添加到父类中以保留 ChildComponent 列表的两种方法。

有关于 Blazor 大学的完整演练 here .

关于c# - 将多个子组件作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62416232/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com