Blazored Modal 弹出窗口中的确认按钮后刷新 UI - Blazor 客户端

问题描述 投票:0回答:1

我的页面上有一个调用 DeleteApplication.razor 组件并传入所选应用程序的方法:

private void deleteApplicationSubmit() 
    {
        var parameters = new ModalParameters
        {
            { nameof(DeleteApplication.applicationData), applicationData }
        };

        Modal.Show<DeleteApplication>("Are you sure you would like to delete", parameters);
    }

这将打开 DeleteApplication 弹出窗口。单击“确认/删除”按钮时,Delete 方法会关闭弹出窗口并在我的原始屏幕(APIShapes)上调用 deleteApplication 方法:

@code {

    [CascadingParameter] BlazoredModalInstance BlazoredModal { get; set; } = default!;

    [Parameter] public ApiApplication? applicationData { get; set; }

    private APIShapes? apiShapes;

    async Task Delete()
    {
        await apiShapes.deleteApplication(applicationData);

        await BlazoredModal.CloseAsync();
    }

    async Task Cancel() => await BlazoredModal.CancelAsync();
}

deleteApplication方法然后调用api删除选中的应用程序。

我希望调用 api 删除所选项目会更新 UI 并删除该项目。相反,该项目会一直保留,直到我单击以加载不同的屏幕或进行刷新。

modal-dialog blazor client webassembly blazored
1个回答
0
投票

由于单击模态按钮不在 Blazor 生命周期内,因此您需要显式调用

StateHasChanged();
以在队列中放置渲染请求。

© www.soinside.com 2019 - 2024. All rights reserved.