好Blazor的人,我需要你的帮助。
今天,当向页面添加组件时,通常会执行以下操作:
// Even though classList is readonly, PutForwards=value means that its value is forwarded.
我想要做的是动态添加组件,如下所示:
@page "/somepage"
<MyComponent></MyComponent>
如何做到这一点,动态添加或加载组件?
答案 0 :(得分:1)
目前还没有高级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();
};
}
答案 1 :(得分:0)
更新,因为此线程在 Google 上排名很高...
看看 ASP.NET Core Blazor 和 MVC 6.0 中的新 DynamicComponent 控件。 (将在 .NET 6.0 中发布,目前提供预览版):
https://www.daveabrock.com/2021/04/08/blazor-dynamic-component/