Как использовать параметры каскадного типа в этой ситуации?

Индекс.razor.cs:

Я разрабатываю компонент сетки, который будет отображать для него список элементов:

<Grid Items = "Transactions">
    <GridHeader>
        <GridColumn TItem = "Transaction">ID</GridColumn>
        <GridColumn TItem = "Transaction">Date</GridColumn>
    </GridHeader>
</Grid> 

Затем в Grid.razor.cs и GridColumn.razor.cs я использую typeparam TItem. Но, похоже, мне нужно передать TITem в качестве параметра в каждом столбце сетки, как я могу вместо этого реализовать поддержку чего-то вроде приведенного ниже:

<Grid Items = "Transactions" TItem = "Transaction">
    <GridHeader>
        <GridColumn>ID</GridColumn>
        <GridColumn>Date</GridColumn>
    </GridHeader>
</Grid>   

Поэтому TItem будет каскадироваться на все дочерние компоненты (независимо от того, насколько глубоко они вложены)

Я просмотрел CascadingTypeParam, но информации о нем мало, поэтому я не уверен, как его использовать, если это решение для вышеуказанного.

Для развертывания Сайтов с использованием Blazor, Angular и React с репозиторием на GitHub на Cloudflare.
Для развертывания Сайтов с использованием Blazor, Angular и React с репозиторием на GitHub на Cloudflare.
Как развернуть сайты с помощью Blazor, Angular и React с репозиторием на GitHub на Cloudflare.
0
0
53
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В верхней части Grid.razor добавьте:

@attribute [CascadingTypeParameter(nameof(TItem))]

CascadingTypeParameter

Обозначает параметр универсального типа как каскадный. Это позволяет выводу универсального типа автоматически использовать это значение параметра типа для потомков, у которых также есть параметр типа с тем же именем.

Спасибо, я пробовал это изначально, но это не сработало, потому что в моем примере я не понимал, что мне нужно добавить параметр типа в GridHeader, прежде чем он сможет каскадироваться в GridColumn. Я просто добавлял свой typeparam в GridColumn, предполагая, что он выведет сам тип, пройдя по цепочке отношений.

Musaffar Patel 18.11.2022 21:03

Другие вопросы по теме