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 替换为 0 到 100 之间的数值:
pageProgressService.Go(25)
有效参数值
null- 显示不确定状态指示器>= 0且<= 100- 显示常规百分比进度
隐藏进度
要隐藏进度条,只需将参数值设置为有效参数值范围外的数值:
pageProgressService.Go(-1)
抠丁客


