【发布时间】:2021-06-29 12:53:48
【问题描述】:
我正在尝试让父组件使用 foreach 来遍历 Blazor 中的子组件。例如,我有一个 Button 组件,并且希望能够将它嵌套在一个 ButtonGroup 组件中,该组件在每个 Button 周围添加填充。我的代码返回“方法的类型参数......无法从用法中推断出来。尝试明确指定类型参数。”不知道如何实现。任何帮助表示赞赏。
Index.razor
<ButtonGroup>
<Button>Howdy</Button>
<Button>Doody</Button>
</ButtonGroup>
Button.razor
<a href="@Url" class="btn btn-primary">@ChildContent</a>
@code {
[Parameter] public RenderFragment ChildContent { get; set; }
[Parameter] public string Url { get; set; }
ButtonGroup.razor
@typeparam TItem
<div class="flex flex-wrap py-16 mx-n4">
@foreach (var item in Items)
{
<div class="px-4 d-ib">
@ChildContent(item)
</div>
}
</div>
@code {
[Parameter] public RenderFragment<TItem> ChildContent { get; set; }
[Parameter] public IReadOnlyList<TItem> Items { get; set; }
}
【问题讨论】:
-
什么是
ChildItems,Items在<ButtonGroup>中设置在哪里? -
错字。
ChildItems应该是Items。 -
好的,但是
<ButtonGroup Items=...>在哪里? -
明白了。我想我正在寻找组件模板来完成我在这里尝试做的事情,但没有连接的数据集。有没有办法捕获通过 ChildContent 传递的组件?
-
你至少应该感谢我和第二位回答者 Nik P 试图帮助你。请务必阅读:stackoverflow.com/help/someone-answers