在我的 Blazor 服务器应用程序中,我有一个名为“主页”的页面,它基本上是一个搜索页面。在主页(“父页面”)上有一个带有控件的表单,用于过滤存储在后端数据库中的数据。搜索结果的每一行都有一个“编辑”按钮,该按钮显示一个引导对话框,允许用户编辑数据。单击 UpdateDocumentNumber(孙)组件上的“保存”按钮后,我想刷新主页(父)中的搜索结果。
我的理解是我可以使用事件回调来做到这一点;然而,虽然我可以引发/调用从孙子到孩子的事件回调,但我似乎无法从孩子那里通知父母。
更多细节...
当主页(“父”页面)迭代返回的项目列表时,它会插入一个<DisplayDocumentNumber>组件(“子”),然后该<DisplayDocumentNumber>组件有一个引用“编辑”对话框的组件。这是迭代搜索结果的主页:
<tbody>
@foreach (var documentNumber in DocumentNumbers)
{
<DisplayDocumentNumber DocumentNumber="documentNumber" /> // DocumentNumber parameter in DisplayDocumentNumber receives the data from the documentNumber local var
}
</tbody>
Run Code Online (Sandbox Code Playgroud)
这是 DisplayDocumentNumber 组件:
public partial class DisplayDocumentNumber : ComponentBase
{
[Parameter]
public DocumentNumberDto DocumentNumber { get; set; }
[Parameter]
public EventCallback<bool> OnDocumentNumberUpdatedEventCallback { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
请注意public EventCallback<bool> OnDocumentNumberUpdatedEventCallback { …