Добавление нескольких компонентов в компонент Blazor (.razor)

#blazor #razor-pages

Вопрос:

Как достичь этого ниже в Razor? Визуализировать один(1) фрагмент (панель) легко, но как определить этот код i?

Я мог бы создать класс, который отображает панель, но у него не может быть атрибута параметра. Различные панели, например. Расположение.У 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>
 

Комментарии:

1. Ваш вопрос не содержит достаточной информации, чтобы ответить на вопрос с какой-либо определенностью, кроме как высказать некоторые дикие предположения. Что такое <GroupPanel> ? Является ли код, который вы указали, одним и тем же компонентом? Если ответ @Mayur Ekbote отвечает на ваш вопрос, то проигнорируйте это, в противном случае, пожалуйста, обновите вопрос более подробно.

Ответ №1:

Фрагмент визуализации, по сути, является заполнителем для компонента blazor. Он может отображать несколько компонентов.

Групповая панель.бритва

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

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

Индекс.бритва

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