動的にコンポーネントの追加/ロード

asp.net-core blazor c#

質問

良いブレーザーの人々、私はあなたの助けが必要です。

今日、コンポーネントをページに追加するときは、通常次のようなことを行います:

@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
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ