在 Blazor (.razor) 组件中添加多个组件

Posted

技术标签:

【中文标题】在 Blazor (.razor) 组件中添加多个组件【英文标题】:Adding multiple components in Blazor (.razor) component 【发布时间】:2021-11-23 02:27:37 【问题描述】:

如何在 Razor 中实现这一点? 渲染一(1)个片段(Panel)很简单,但是如何定义这些 i 代码呢?

我可以创建一个呈现面板的类,但它不能具有 Parameter 属性。 不同的面板,例如。 Layout.GridView 有它自己的特点。

    [Parameter]
    public RenderFragment Panel  get; set; 
    <GroupPanel PanelType="PanelType.Display">
        <Panel Layout="Layout.GridView"></Panel>
        <Panel Layout="Layout.ListView"></Panel>
        <Panel Layout="Layout.DisplayView"></Panel>
    </GroupPanel>

【问题讨论】:

你的问题没有包含足够的信息来确定地回答这个问题,除了做出一些疯狂的猜测。 &lt;GroupPanel&gt; 是什么?您引用的代码是否在同一个组件中?如果@Mayur Ekbote 的回答回答了您的问题,请忽略此问题,否则请更新问题的更多细节。 【参考方案1】:

RenderFragment 本质上是 blazor 组件的占位符。它可以显示多个组件。

GroupPanel.razor

  <PanelContainer PanelType="PanelType.Display">
      @Panels
   </PanelContainer >

@code
   [Parameter]
   public RenderFragment Panels get;set;
   // other parameters like PanelType

Index.razor

<GroupPanel PanelType="PanelType.Display">
     <Panels>
        <Panel Layout="Layout.GridView"></Panel>
        <Panel Layout="Layout.ListView"></Panel>
        <Panel Layout="Layout.DisplayView"></Panel>
     <Panels>
</GroupPanel>

【讨论】:

以上是关于在 Blazor (.razor) 组件中添加多个组件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Font Awesome 添加到 Blazor 客户端(Razor 组件)应用程序?

Blazor 页面组件

如何使用 Blazor 和 NetCore 5 在电子邮件中将 razor 组件作为正文发送?

如何从 Blazor 服务器端应用程序中的 Razor 页面导航到 Blazor 组件?

.NET Core - 为啥我应该使用视图组件而不是集成在 MVC 应用程序或 Razor 页面中的 Blazor 组件

从 Blazor 组件 (.razor) 重定向到 Razor 页面 (.cshtml) [服务器端]