跳到主要内容
知识地图table:什么时候用表格表达数据?ArcBlock 体系

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

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

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

一个问题

table:什么时候用表格表达数据?

table 用列定义与行数据表达可比较的记录。

对照多个任务的名称、状态与负责人时,表格比一段文字便于横向比较。sort 与 select 是注册的事件;是否让排序触发业务查询,要看应用如何绑定。不要把本地显示顺序当成数据库已经更新。

先认识这些属性

columns 说明有哪些列:key 指向每条记录中的字段,label 是人看到的列标题,align 指定文字对齐。rows 则提供记录本身。两者通过字段名对应,而不是靠文字在屏幕上的位置匹配。

sort 表达排序意图,select 表达选择一行。应用可以把事件接到查询或查看动作;不要把一次表头点击当成数据库已经变更。

读一个结构例子

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

json
{
  "id": "user-table",
  "type": "table",
  "props": {
    "columns": [
      {
        "key": "name",
        "label": "Name"
      },
      {
        "key": "email",
        "label": "Email"
      },
      {
        "key": "role",
        "label": "Role",
        "align": "center"
      }
    ],
    "rows": [
      {
        "name": "Alice",
        "email": "alice@co.com",
        "role": "Admin"
      },
      {
        "name": "Bob",
        "email": "bob@co.com",
        "role": "User"
      }
    ]
  },
  "events": {
    "select": {
      "exec": "/users/.actions/view",
      "args": {}
    }
  }
}

例如列的 key: "name" 读取 Alice 或 Bob,label: "Name" 显示在表头。role: "Admin" 在这个例子里只是表格数据,不表示表格授予管理员权限。select 连接到查看动作;例子没有展开被选记录如何传入该动作的处理细节。

查看 table 的技术文档。

检查一下理解

任务的名称、状态、负责人要横向比较,table 提供哪两个基本部分?

列定义描述要比较的字段,行数据提供各条任务记录。