Я считаю, что в настоящее время такой функции в Blazor не существует. Однако вы можете создать список компонентов, добавив ссылки на компоненты (атрибут директивы @ref) в объект списка следующим образом:
ChildComponent.razor
<h3>@Title</h3>
@code {
[Parameter]
public string Title { get; set; }
}
Использование
<ChildComponent @ref="ChildComponent1" Title="ChildComponent 1"/>
<ChildComponent @ref="ChildComponent2" Title="ChildComponent 2" />
<ChildComponent @ref="ChildComponent3" Title="ChildComponent 3" />
@if (components != null)
{
@foreach (var component in components)
{
<p>@component.Title</p>
}
}
@code{
ChildComponent ChildComponent1;
ChildComponent ChildComponent2;
ChildComponent ChildComponent3;
List<ChildComponent> components;
protected override void OnAfterRender(bool firstRender)
{
if (firstRender)
{
components = new List<ChildComponent>();
components.Add(ChildComponent1);
components.Add(ChildComponent2);
components.Add(ChildComponent3);
StateHasChanged();
}
}
}
Обратите внимание, что список заполняется только после визуализации компонента страницы. Вы не можете получить доступ к компонентам раньше, так как они еще не созданы ...