在Blazor中,可以通过自定义组件和JavaScript互操作来实现在删除/更新之前显示确认对话框。
首先,创建一个名为ConfirmDialog
的自定义组件,用于显示确认对话框。该组件的代码如下:
@inject IJSRuntime jsRuntime
@code {
[Parameter]
public bool ShowDialog { get; set; }
[Parameter]
public string Title { get; set; }
[Parameter]
public string Message { get; set; }
[Parameter]
public EventCallback OnConfirm { get; set; }
public async Task Confirm()
{
await OnConfirm.InvokeAsync(true);
}
public async Task Cancel()
{
await OnConfirm.InvokeAsync(false);
}
}
接下来,在需要显示确认对话框的页面或组件中,可以使用ConfirmDialog
组件进行对话框的显示和处理。例如,假设有一个名为DeleteButton
的组件,用于删除某个项目。在删除之前,可以显示一个确认对话框来询问用户是否确定删除。以下是DeleteButton
组件的代码示例:
@code {
bool ShowDialog { get; set; }
async Task ShowConfirmDialog()
{
ShowDialog = true;
}
async Task OnDeleteConfirmed(bool confirmed)
{
if (confirmed)
{
// 执行删除操作
await DeleteItem();
}
ShowDialog = false;
}
async Task DeleteItem()
{
// 执行删除操作的代码
}
}
在上述代码中,当用户点击“删除”按钮时,将会显示确认对话框。根据用户的选择,将会调用OnDeleteConfirmed
方法,并根据用户的确认与否执行相应的操作。
请注意,此示例代码中使用了Bootstrap样式,你需要确保在项目中正确引入了Bootstrap。