没有ChildContent的Blazor刷新组件

时间:2020-07-01 05:12:12

标签: c# blazor

我有一个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);
    }

}

0 个答案:

没有答案