子组件作为Blazor中的父代属性

时间:2019-07-11 14:33:22

标签: asp.net-core blazor blazor-server-side

我想创建一个DataGrid组件,它可以指定GridColumns,如下面的代码所示:

<DataGrid Items="@GridData">
    <DataGridColumns>
        <DataGridColumn Field="OrderId" Header="Order Id" Width="100"></GridColumn>
        <DataGridColumn Field="OrderDate" Header="Order Date" Width="120"></GridColumn>
    </GridColumns>
</DataGrid>

DataGrid是模板化的组件定义,如下所示:

@typeparam TItem

@functions {
    [Parameter] RenderFragment GridColumns { get; set; }
    [Parameter] IReadOnlyList<TItem> Items { get; set; }
}

到目前为止,我已经能够获取ContentGridColumns属性中的内容。我的意图是获取每个DataGridColumn作为集合,以通过遍历每个元素来自定义HTML的呈现,但到目前为止,我仍无法弄清楚如何解决此问题。

所需的HTML呈现例如:

<div>
    <colgroup>
        <col style="width: 100px;">
        <col style="width: 120px;">
    </colgroup>
    <thread>
        <tr>
            <th>
                <div style="text-align: right;">
                    <span>Order Id</span>
                </div>
            </th>
            <th>
                <div style="text-align: right;">
                    <span>Order Date</span>
                </div>
            </th>
        </tr>
    </thread>
    <!-- ... Rest of the HTML ... -->
</div>

赞赏这方面的任何指导方针或方向。

0 个答案:

没有答案