跳到主要内容
知识地图action:按钮怎样表达意图?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

action:按钮怎样表达意图?

action 表达可触发的动作或导航入口。

“下一页”可能是导航链接;“完成任务”可能是事件调用。先分清 href 导航与 events.click 的操作绑定,再决定按钮的标签与样式。按钮禁用只是界面状态,不能替代操作端授权。

先认识这些属性

label 是人看到的按钮文字;href 指定导航目的地;disabled 表达禁用状态。若按钮要执行业务动作,则看 events.click 连接到哪个操作,而不能只看按钮上写着什么。

click 表达触发意图。例子把它连接到保存动作,并传入要处理的记录标识;保存是否成功仍由动作执行结果回答。

读一个结构例子

以下摘自源码注册示例。它展示结构,未在本页运行;示例中的路径和动作需要应用提供。

json
{
  "id": "save-btn",
  "type": "action",
  "props": {
    "label": "Save",
    "variant": "primary",
    "icon": "check"
  },
  "events": {
    "click": {
      "exec": "/api/.actions/save",
      "args": {
        "id": "123"
      }
    }
  }
}

这个例子没有 href,而是通过 events.click.exec 指向操作。variant 和 icon 改变按钮的呈现;真正的保存目标由事件连接决定。

查看 action 的技术文档。

检查一下理解

“打开下一篇文章”和“完成任务”分别先看哪种连接?

前者先看 href 导航;后者先看 click 事件连接的操作目标。