项目

Blazor UI:页面进度

页面进度功能用于在页面顶部显示进度条指示器,向用户提示当前有耗时任务正在执行。

默认情况下您无需进行任何操作即可显示进度指示器,因为所有工作都由 ABP 框架内部自动完成。这意味着所有对 ABP 后端(通过 HTTP API)的调用都会自动激活页面进度并显示加载指示器。

但这并不意味着您无法控制该功能。相反地,如果您希望为自定义流程显示进度,操作非常简单。您只需要注入并使用 IUiPageProgressService 服务即可。

示例

首先,在您的页面/组件中注入 IUiPageProgressService

@inject IUiPageProgressService pageProgressService

接着,调用 IUiPageProgressService 中的 Go 方法。操作非常简单:

Task OnClick()
{
    return pageProgressService.Go(null);
}

以上示例将使用默认设置显示进度。如果您需要修改进度条颜色,可以通过 Go 方法设置选项来覆盖默认配置:

Task OnClick()
{
  return pageProgressService.Go(null, options =>
  {
      options.Type = UiPageProgressType.Warning;
  });
}

功能详解

Go 方法的第一个参数需要稍作说明。在前面的示例中我们将其设置为 null,这表示一旦调用就会显示一个不确定状态的指示器,并持续循环播放加载动画,直到我们主动隐藏进度。您也可以设置具体的进度百分比,代码写法相同,只需将 null 替换为 0100 之间的数值:

pageProgressService.Go(25)

有效参数值

  1. null - 显示不确定状态指示器
  2. >= 0<= 100 - 显示常规百分比进度

隐藏进度

要隐藏进度条,只需将参数值设置为有效参数值范围外的数值:

pageProgressService.Go(-1)
在本文档中