For AI agents: the complete documentation index is available at https://a3s-lab.github.io/UI/v0.4.0/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/UI/v0.4.0/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/UI/v0.4.0/components/bulk-action-bar.md.

批量操作栏

批量操作栏只在集合存在选择时出现,把选择范围、可操作数量、批量命令和退出选择模式的方式放在同一个稳定区域。

环境操作

生产环境

已选中 3 个环境,其中 2 个具备归档权限。

已选 3 项

其中 2 项可以归档

用法

把操作栏放在拥有选择状态的集合旁边。根元素要使用具体集合的可访问名称,始终显示准确的选中数量;选择部分可操作时,命令标签必须写出实际可处理数量。宿主负责权限、确认、请求、乐观更新、回滚和重试。

可以加载完整运行时,也可以只加载拆分入口:

<script src="/assets/js/runtime.min.js" defer></script>
<script src="/assets/js/bulk-action-bar.min.js" defer></script>

上面的集成预览是 HTML、React 和 Vue 的唯一示例来源。打开预览工具栏中的源码面板,可以在同一个工作区切换安装命令、入口文件和示例文件,并复制当前代码。

契约

部件或 API用途
data-bulk-selection / data-selected-count表达当前选择数量和范围。
data-bulk-summary用文字表达适用条件、进度或明确结果。
data-bulk-actions / data-bulk-action定义原生命令和稳定的集成值。
data-bulk-clear退出选择模式,并在组合 Data Grid 时同步父级选择。
data-bulk-focus-return操作栏隐藏后接收焦点的稳定集合控件选择器。
getSelection() / setSelection() / clear()读取或更新受控选择快照。
setSummary()更新适用性或结果说明,不拥有业务数据。
setPending() / complete()管理本地进行中几何并发布宿主生命周期。
refresh()宿主更新 DOM 后重新收集操作节点。

setPending(action, true, { message, allowClear }) 会禁用进行中的命令和所有冲突命令,同时保留原有的禁用状态。allowClear 默认是 true;如果退出选择模式会和宿主请求冲突,可以传入 false。进行中点击清除不会取消请求,操作栏会保留到宿主完成处理。

状态与恢复

实时预览工具栏中的状态验收矩阵会验证 empty 隐藏完整区域、selected 保留范围、loading 禁用冲突命令,以及 disabled 对每个命令使用原生禁用语义。

可恢复的批量结果

已选 2 项

归档失败:缺少生产环境权限。获得权限后重试,或清除选择。

选择了 5 项但只有 3 项可重试时,命令应写成“重试 3 项”,不能写“重试 5 项”然后由服务端静默跳过 2 项。不可逆命令仍需通过警报对话框确认,并明确影响数量。

可访问性与归属

根区域必须说明它影响的集合,而且出现时不能自动抢走焦点。选择数量、可操作数量、进度和结果都要使用文字表达。进行中的命令保留原标签,根区域暴露 aria-busy="true";只有 allowClear 允许时才保留清除入口。请求被拒绝后保留选择和焦点上下文,让恢复命令仍然可达。清除成功或完成后操作栏隐藏,应把焦点还给稳定的集合目标,而不是留在已经隐藏的按钮上。

React 和 Vue 使用同一套控制器事件和方法,适配器不会创建第二份框架私有选择状态,也不会在组件内执行网络请求。