Передача параметров в компонет Blazor
Не могу придумать как добиться следующего:
В компонент Blazor необходимо передать коллекцию(или массив) параметров. Передаваемые параметры — компоненты Blazor. Коллекцию параметров необходимо передать в виде вложенного тега. Необходима возможность вызова рендеринга каждого переданного параметра-компонента по отдельности.
То-есть хочу приблизительно такого:
<MyComponent>
<ParameterCollection>
<MyParameterComponent1>Caption1</MyParameterComponent1>
<MyParameterComponent2>Caption2</MyParameterComponent2>
<MyParameterComponent3>Caption3</MyParameterComponent3>
</ParameterCollection>
</MyComponent>
Код MyComponent:
@code{
[Parameter]
public RenderFragment[] ParameterCollection {get; set;} //Ошибка времени выполнения
}
То что я хочу получить, уже видимо реализовано здесь коммерческий компонент (выберите вкладку VIEW SOURCE). В параметр GridColumns передается коллекция компонентов GridColumn. Тточнее, как я думаю — коллекция соответствующих им RenderFragment. Вопрос — как это сделано?
Ответы (1 шт):
В проекте Blazorise есть аналогичный компонент - https://blazorise.com/docs/components/grid/ В отличие от коммерческого аналога, там вы можете посмотреть исходный код компонентов, строка принимающая столбцы: https://github.com/stsrki/Blazorise/blob/e07281fc71a0f6788cad82f78bd75e0d21151536/Source/Extensions/Blazorise.DataGrid/_DataGridRow.razor.cs#L172