我有各种子组件,它们是在父组件中动态创建的。
RenderFragment CreateChildComponent(long selectedcar) => builder =>
{
builder.OpenComponent(0, typeof(ChildComponent));
builder.AddAttribute(1, "Data", GetData(selecteccar));
builder.CloseComponent();
};
我有传递到这些子组件的数据列表。这些数据在父组件上定期更新。
我想在父组件中更新这些列表时更新子组件数据吗?
答案 0 :(得分:0)
假设您使用的是this article中描述的那种情况:从传递给CreateChildComponent
方法的数据中创建一个属性,然后调用StateHasChanged()
。像这样:
@page "/BuiltContent"
<h1>Build a component</h1>
@CustomRender
@code {
private RenderFragment CustomRender { get; set; }
public long selectedcar;
RenderFragment CreateChildComponent() => builder =>
{
builder.OpenComponent(0, typeof(ChildComponent));
builder.AddAttribute(1, "Data", GetData(selectedcar));
builder.CloseComponent();
};}
void SomeInitMethod() {
childFragment = CreateChildComponent();
}
void MyUpdateMethod() {
// "list gets updated in parent component..."
this.selectedcar = ...;
StateHasChanged();
}
}