如何使用同一Blazor组件的多个实例



我有一个选项卡控件,并在每个选项卡上动态创建具有相同组件(例如Employee(的选项卡。当创建第一个选项卡时,构造函数和OnInitialized将执行。但是,当我创建另一个(比如为另一个Employee(时,构造函数和OnInitialized不会执行。(每个OnParametersSetAsync运行多次(。

最初,我在OnInitialized中检索了Employee信息。我认为这是我的首选做法。但由于它不为第二个Employee运行,我不知道从哪里检索第二个Employee信息。我看不到OnParametersSetAsync的可预测行为。

如果在这种情况下有一个事件总是运行一次,那么这可能会起作用。有什么想法吗?

我认为您试图强制blazor重新初始化组件。

实现这一点的一种方法是使用@key属性。

如果您将组件设置为<EmployeeComponent @key=”@Employee.Id”,那么每次更改employee和父组件的转发器时,blazor-diff算法都会被诱骗创建新的EmployeeComponent,而不是重新渲染旧组件。

如果没有您的代码示例,很难说它是否是该技术的正确用例。你的问题可能会有更优雅的解决方案。

相关内容

  • 没有找到相关文章

最新更新