【发布时间】:2022-01-23 04:07:05
【问题描述】:
考虑到我有一个名为Tab 的类。
public class Tab
{
public Guid Id { get; }
public bool IsVisible { get; set; }
protected Tab()
{
Id = Guid.NewGuid();
}
}
我想将这些选项卡严格耦合到 Blazor 组件实例,并通过迭代选项卡来呈现这些实例。我想控制何时创建组件以及何时再次销毁它。
我想这样做是因为这样我可以保持每个组件的状态。
这是简单方法的问题。考虑这样的事情:
@code {
public void CreateNewTabAndRemoveOldTab()
{
Tabs.RemoveAt(0);
Tabs.Add(new Tab());
}
}
foreach (var tab in Tabs)
{
<MyTabComponent/>
}
新创建的标签将简单地接管已删除标签的状态。 OnInitialized 不会被调用。
我查看了RenderFragment,但它看起来不像它的工作属性。问题是 Blazor 框架仍将决定何时创建新组件(因此调用 OnInitialized)或何时使用现有实例。
【问题讨论】: