自定义按钮
学习目标
- 理解按钮的作用:不仅仅是“增删改查”,还能触发业务逻辑。
- 核心技能:掌握按钮的 6 种显示位置(列表页、详情页、下拉菜单)。
- Amis 交互:学会配置点击按钮后的动作(弹窗、确认、发送请求)。
什么是自定义按钮?
系统默认提供了“新建”、“编辑”、“删除”等标准按钮。但在实际业务中,我们往往需要更个性化的操作,例如:
- 一键审核:在合同详情页,点击“审核通过”,自动改变状态。
- 填写跟进:在客户列表的每一行,点击“写跟进”,弹出一个小窗口快速记录。
- 打印预览:点击按钮跳转到打印页面。
在 Steedos 中,这些都可以通过自定义按钮来实现,而且你可以用 Amis 动作 (Action) 来定义按钮点击后发生的一切。
1. 按钮显示在哪里? (Button Locations)
这是配置按钮的第一步。Steedos 提供了极高自由度的位置控制。为了不让大家晕头转向,我们将这些位置分为**“针对整个表(列表级)”和“针对单条数据(记录级)”**。
核心位置对照表
| 显示位置 (Label) | 对应代码 (Value) | 场景说明 | 图解 |
|---|---|---|---|
| 列表右上角 | list | 全局操作。不针对某一行数据,而是针对整个对象。例如:“导入”、“导出”、“新建”。 | 列表页眉 |
| 记录页右上角 + 列表项下拉 | record | 最常用。既要在详情页显眼位置看到,也要在列表里能快速操作。例如:“提交审批”、“变更状态”。 | 详情页顶栏 + 列表行菜单 |
| 记录页“更多” + 列表项下拉 | record_more | 次要操作。不想占用详情页顶部的宝贵空间,藏在“更多”里,但在列表里可以直接点。 | 详情页更多 + 列表行菜单 |
| 仅列表项下拉 | list_item | 快捷操作。只在列表浏览时使用,没必要放进详情页。例如:“快 速预览”、“标星”。 | 列表行菜单 |
| 仅记录页右上角 | record_only | 详情页专属。操作很复杂,必须点进来看清楚详情才能点的按钮。 | 详情页顶栏 |
| 仅记录页“更多” | record_only_more | 低频操作。例如:“查看历史版本”、“归档”。 | 详情页更多 |
选错位置会怎样?
- 如果你把按钮设为
list(列表右上角),但在按钮逻辑里试图获取“当前选中行的 ID”,就会失败,因为那个位置默认是不知道你选了哪一行的。 - 如果你选择了
record类位置,系统会自动将当前记录的record_id传给按钮,方便你处理数据。