Blazor Web Assembly组件更新和自定义对象传递



请考虑以下场景:

我有一页三个组件:

  • InputComponent

  • ActivityListComponent

  • SummaryComponents

第一个组件包含一个以URL作为输入的表单。

当提交表单时,应用程序从这个URL(JSON)中获取内容并创建一个List。

第二个组件应该显示这个自定义对象的结果,该对象在表单中包含一个List,其中每个项都包含一个复选框,允许用户取消选择不需要的项。

当用户准备好并单击submit时,我将解析结果并生成一个输出文件。

第三个组件生成结果的摘要。

我正在努力了解如何改变ActivityListComponent的可见性,并在用户单击提交时从代码中传递自定义对象。

基本问题是:

我如何控制组件的可见性以及传入自定义对象?

最后我使用了Blazor事件。

// Child Object
public List<Cat> Cats { get; set; }
[Parameter] public EventCallback<List<Cat>> NewCatList { get; set; }
// Somewhere in the code I trigger the event
await NewCatList.InvokeAsync();
// Parent Object 
<InputFormComponent NewCatList="@Method" />
@Code {
public void Method(List<Cat> Cats)
{
// Some code
}
}

这是一个更大的问题,因为我在子组件中使用了@bind-value而不是@bind-value,错误没有被正确处理。

我花了一点时间才弄明白。

吸取了很多教训:)

最新更新