跳到主要内容

列表行按钮配置

列表行按钮是每一条数据行上的操作按钮,可执行事件流,并支持基于行数据动态控制显隐。

概述​

列表行按钮展示在表格行内,用于对单条记录操作,如查看、编辑、删除、发起审批。在编辑器的 列表行按钮配置 卡片中:

  • 点击 新增列表行按钮 添加按钮,新按钮默认名称为「列表行按钮」。
  • 拖动调整按钮顺序,点击按钮打开属性抽屉进行配置,可删除。

配置项​

配置项说明
按钮名称按钮显示文字,必填
业务类型执行事件流 或 微应用组件
事件流业务类型为「执行事件流」时配置
是否隐藏是否隐藏该按钮
展示控制模式简单模式 或 高级模式
依赖行数据字段简单模式下要判断的字段
匹配方式等于 或 不等于
依赖行数据字段值简单模式下要匹配的值
展示动态脚本高级模式下的自定义脚本
移动端占位符绑定绑定到移动端页面模板的按钮占位符位置(31–40)
按钮样式默认 / 主题色 / 幽灵(反色)/ 虚线 / 链接 / 文本
展示为危险按钮是否使用危险色呈现
按钮图标按钮前的图标
自适应父容器宽度移动端按钮是否占满父容器宽度
启用滑动操作移动端是否启用滑动操作
滑动操作颜色启用滑动操作后的背景色
微应用组件已废弃

业务类型「微应用组件」的配置项处于禁用状态,新功能请统一使用「执行事件流」。

业务类型​

业务类型存储值说明
执行事件流ExecuteActionPipeline点击后执行事件流,为推荐方式
微应用组件MicroAppCmp加载微应用渲染按钮,待废弃

展示控制​

行按钮支持两种显隐控制模式(DisplayControlMode):

简单模式(0)​

基于字段值匹配规则,无需写代码:

  1. 选择 依赖行数据字段(DisplayRelatedFieldCode)。
  2. 选择 匹配方式(DisplayRelatedCondition):eq(等于) 或 ne(不等于)。
  3. 填写 依赖行数据字段值(DisplayRelatedFieldValue)。

当行数据中该字段值与配置值匹配时,按钮按匹配方式显示。

高级模式(1)​

编写动态脚本,由脚本调用 API 控制显隐:

function buttonTrigger(api, data) {
// will show button as default
// Example: hide button if status is not 'active'
// if (data.status !== 'active') {
// api.hide();
// }
}

脚本可通过 api.show()、api.hide() 控制按钮显示,data 为当前行的字段键值对象。详细脚本 API 见 行按钮脚本 API。

移动端设置​

  • 移动端占位符绑定:把按钮绑定到移动端页面模板的按钮占位符位置(31–40),占位符上配置的「自定义元素样式」会透传到按钮上。历史数据中绑定 1–20(原通用占位符)的按钮仍可正常使用,重新调整后只能选择 31–40。
  • 自适应父容器宽度:按钮在移动端是否占满父容器宽度。
  • 启用滑动操作:移动端开启滑动操作。
  • 滑动操作颜色:滑动操作背景色,可选主题色、浅色、弱色、成功、警告、危险。

支持的动作类型​

行按钮「执行事件流」可配置以下动作:

动作类型存储值说明
弹窗编辑后刷新PopFormEditThenRefresh打开编辑表单,提交后刷新
弹窗新增后刷新PopFormAddThenRefresh打开新增表单(预填当前行数据),提交后刷新
逻辑删除后刷新LogicDeleteThenRefresh逻辑删除当前行并刷新
物理删除后刷新DeleteThenRefresh物理删除当前行并刷新
请求接口RequestInterface调用平台接口
发起工作流LaunchWorkflow发起审批流程
抽屉展示数据操作日志DrawerShowDataOperationLog打开数据操作日志
抽屉展示详情描述DrawerShowDescription打开推屏详情
抽屉展示页面DrawerShowPage抽屉打开页面
弹窗展示页面ModalShowPage弹窗打开页面
打开当前页OpenCurrentPage在当前页内打开页面
打开新页面OpenNewPage新开页面
关闭临时页面CloseTemporaryPage关闭临时页面
刷新关联数据RefreshRelation刷新关联数据
刷新页面RefreshPage刷新当前页面
重新加载页面ReloadPage重新加载页面

下一步​

属性明细​

以下内容面向技术实现与 AI 检索,逐个说明列表行按钮 MetaViewListButtonItem 的属性。

MetaViewListButtonItem 属性表​

列表行按钮继承自 MetaViewButtonBase,并额外扩展以下属性:

属性名类型含义取值/存储值
Idstring(GUID)按钮标识仅作前端标识
Namestring按钮名称显示文字,必填
IsHidebool是否隐藏默认 false
BizTypestring业务类型ExecuteActionPipeline 或 MicroAppCmp
ActionPipelinestring事件流JSON 字符串
MicroAppNamestring微应用名待废弃
MicroAppPathstring微应用路由待废弃
Typestring按钮样式default/primary/ghost/dashed/link/text,默认 primary
IsDangerbool危险按钮默认 false
Iconstring图标图标标识串
DisplayControlModeint显示控制模式0=简单模式,1=高级模式,默认 0
DisplayRelatedFieldCodestring显示依赖字段编码简单模式使用
DisplayRelatedConditionstring显示依赖匹配条件eq(等于)/ne(不等于)
DisplayRelatedFieldValuestring显示依赖字段值简单模式使用
DisplayDynamicScriptstring展示动态函数高级模式的 JavaScript 源码
MobilePlaceholderIndexint?移动端占位符索引按钮占位符 31–40(历史数据可能为 1–20),未绑定为 null
DisplayAsBlockbool是否展示为 Block默认 false,对应「自适应父容器宽度」
EnableSwipeActionbool启用滑动操作默认 false(移动端)
SwipeActionColorstring滑动操作背景色primary/light/weak/success/warning/danger,默认 primary

存储示例​

{
"Id": "d3e4f5a6-0003-4c4d-8e5f-777788889999",
"Name": "编辑",
"IsHide": false,
"BizType": "ExecuteActionPipeline",
"ActionPipeline": "[{\"ActionType\":\"PopFormEditThenRefresh\",\"Params\":{}}]",
"Type": "link",
"IsDanger": false,
"Icon": "EditOutlined",
"DisplayControlMode": 0,
"DisplayRelatedFieldCode": "status",
"DisplayRelatedCondition": "eq",
"DisplayRelatedFieldValue": "draft",
"DisplayDynamicScript": null,
"MobilePlaceholderIndex": 3,
"DisplayAsBlock": false,
"EnableSwipeAction": true,
"SwipeActionColor": "primary"
}

相关接口​

列表行按钮随视图列表通过 POST /api/MetaView/SaveLayout 提交,存于 ListButtonItems 字段(JSON 序列化)。