Aggiungi / carica componenti in modo dinamico

asp.net-core blazor c#

Domanda

Buone persone Blazor, ho bisogno del tuo aiuto.

Oggi quando aggiungi componenti a una pagina, normalmente fai qualcosa del genere:

@page "/somepage"

<MyComponent></MyComponent>

Quello che voglio fare è aggiungere i componenti dinamicamente, qualcosa del genere:

@page "/somepage"

<MyComponent></MyComponent>

Qualche idea su come fare questo, aggiungere o caricare i componenti dinamicamente?

Risposta accettata

Al momento non ci sono API di alto livello per questo. Puoi utilizzare API di basso livello come spiegato qui: https://github.com/aspnet/Blazor/issues/723

Nel tuo caso questo si tradurrebbe in:

@page "/somepage"

@dynamicComponent()

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



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché