Añadir / cargar componentes dinámicamente

asp.net-core blazor c#

Pregunta

Buena gente Blazor, necesito tu ayuda.

Hoy, cuando agrega componentes a una página, normalmente hace algo como esto:

@page "/somepage"

<MyComponent></MyComponent>

Lo que quiero hacer es agregar los componentes dinámicamente, algo como esto:

@page "/somepage"

<MyComponent></MyComponent>

¿Alguna idea de cómo hacer esto, agregando o cargando componentes dinámicamente?

Respuesta aceptada

No hay API de alto nivel para esto en este momento. Puede utilizar API de bajo nivel como se explica aquí: https://github.com/aspnet/Blazor/issues/723

En su caso esto se traduciría a:

@page "/somepage"

@dynamicComponent()

@functions{
  RenderFragment dynamicComponent() => builder =>
    {
        builder.OpenComponent(0, typeof(SurveyPrompt));
        builder.AddAttribute(1, "Title", "Some title");
        builder.CloseComponent();
    };
}



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué