动态添加/加载组件

asp.net-core blazor c#

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

今天在向页面添加组件时,通常会执行以下操作:

@page "/somepage"

<MyComponent></MyComponent>

我想要做的是动态添加组件,如下所示:

@page "/somepage"

<MyComponent></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
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因