動態添加/加載組件

asp.net-core blazor c#

好Blazor的人,我需要你的幫助。

今天在向頁面添加組件時,通常會執行以下操作:

@page "/somepage"

<MyComponent></MyComponent>

我想要做的是動態添加組件,如下所示:

@page "/somepage"

@dynamicComponent

@functions{
 BlazorComponent dynamicComponent = Activator.CreateInstance<Components.MyComponent>();
}

任何想法如何做,動態添加或加載組件?

一般承認的答案

目前還沒有針對此的高級API。您可以使用低級API,如下所述: https//github.com/aspnet/Blazor/issues/723

在你的情況下,這將轉化為:

@page "/somepage"

@dynamicComponent()

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


許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow