我有一个Container组件,可以简单地循环访问整数列表并将其呈现为li标签。
<ul>
@foreach (var item in Items)
{
<li>@item</li>
}
</ul>
@code {
[Parameter]
public RenderFragment ChildContent { get; set; }
[Parameter]
public List<int> Items { get; set; } = new List<int>();
}
该组件不会触发视图更新,除非向其添加了未渲染的ChildContent。
在以下示例中,一切正常。但是,一旦删除<i />
标记,代码就会停止工作。我不知道会导致这种行为的原因,但是我宁愿不要提供一个无用的标签,如果可以避免的话。
@page "/"
<Container @ref="container">
<i />
</Container>
<button @onclick="Add">Add</button>
@code{
private Container container;
void Add()
{
container.Items.Add(container.Items.Count);
}
}