Blazor with MatBlazor 在 AuthorizeView 中使用 MatTableRow 导致相同的参数名称错误

问题描述

错误

组件'MatTable'的子内容元素'MatTableRow'使用 与封闭子内容元素相同的参数名称('context') 组件“AuthorizeView”的“授权”。

代码

<AuthorizeView>
    <Authorized>
        <h3>Products</h3>
        <MatTable Items="@sortedData" class="mat-elevation-z5" ShowPaging="false" UseSortHeaderRow="true" Striped="true"
                  FilterByColumnName="Label" DebounceMilliseconds="150" AllowSelection="true" SelectionChanged="SelectionChangedEvent">
            <MatTableHeader>
                <MatSortHeaderRow SortChanged="@SortData">
                    <MatSortHeader SortId="Label"><span style="width:600px">Label</span></MatSortHeader>
                    <MatSortHeader SortId="UseCases">Use cases</MatSortHeader>
                </MatSortHeaderRow>
            </MatTableHeader>
            <MatTableRow>
                <td>@context.Label</td>
                <td>@context.UseCases</td>
            </MatTableRow>
        </MatTable>
    </Authorized>
</AuthorizeView>

解决方法

通过像这样的参数指定上下文来解决它:

<MatTableRow Context="tableRowContext">
    <td>@tableRowContext.Label</td>
    <td>@tableRowContext.UseCases</td>
</MatTableRow>