Skip to content

FxActionGroup 操作组 ​

表格操作列按钮组。不依赖任何 UI 框架,支持仅图标 / 仅文字 / 图标+文字三种展示模式;容器宽度不足时自动将溢出操作折叠进「更多」下拉。

「更多」下拉基于 FxDropdown,固定 click 触发(hover / 右键均不触发);展开时箭头图标(svg:arrow-right-2)带旋转动画变为指向下方。「更多」按钮为 primary 色(variant="link" 为 primary 链接,variant="group" 为 primary 实心并拼接进按钮组),悬浮显示「更多」tooltip。

基础用法 ​

通过 actions 传入操作项,点击任意操作项(含「更多」下拉中的项)触发 action 事件;操作项也可自带 onClick。type: 'danger' 项渲染为红色。

展示模式 ​

通过 display 属性切换:icon(仅图标)/ text(仅文字)/ icon-text(图标+文字),默认 icon-text。icon 模式下未配置图标的操作项回退展示文字;悬浮仅有图标的操作项会显示 label tooltip。icon 字段支持字符串(IconString)与 VNode(h() 渲染产物)两种形态。

对齐方式 ​

通过 align 属性设置容器内对齐:start(左对齐)/ center(居中,默认)/ end(右对齐)/ between(项间间距自动均分填满容器,「更多」恒贴右缘,gap 作为最小间距)。

按钮组形态 ​

通过 variant="group" 切换为按钮组形态:操作项渲染为连体实心按钮(复用 FxButtonGroup 连体样式,「更多」下拉作为组尾参与拼接)。默认 link(链接按钮)。

注意:按钮组是连续整体,align="between" 在该形态下失效(按 start 处理);align 其余取值正常。

溢出折叠与自动宽度 ​

默认自动模式:组件以 ResizeObserver 监听自身根元素宽度(在表格操作列中即随列宽变化),通过隐藏测量行量出每项宽度,动态计算可平铺数量,放不下的操作项自动收入「更多」下拉。

也可通过 max-width 指定宽度上限:数字按 px 处理,字符串原样作为 CSS max-width(如 "50%")。指定后不再依赖容器测量。

「更多」下拉中的菜单项始终展示文字(icon / icon-text 模式附带图标)。

FxActionGroup API ​

Attributes ​

属性说明类型默认值
actions操作项列表,见 ActionGroupItemActionGroupItem[][]
display展示模式:icon / text / icon-textenumicon-text
align对齐方式:start / center / end / betweenenumcenter
variant按钮形态:link 链接按钮 / group 按钮组(连体实心)enumlink
max-width可用宽度上限;不传则自动跟随父容器宽度(ResizeObserver)number / string—
gap按钮间距(px);align="between" 时作为最小间距number4
size尺寸,透传给操作按钮large / default / small—

Events ​

事件名说明类型
action点击任一操作项时触发(含「更多」下拉中的项)(item: ActionGroupItem) => void

ActionGroupItem ​

属性说明类型默认值
label操作文案string—
icon图标:FxIcon 图标名(IconString,如 ep:edit、svg:edit)或 VNode(h() 渲染产物)IconString / VNode—
type按钮类型(颜色)FxBtnProps['type']primary
disabled是否禁用booleanfalse
onClick点击回调(同时也会派发 action 事件)() => void—