表、字段与记录
一个 Base 包含若干按顺序排列的表。每个表都包含字段定义、记录值、可选的单元格数据矩阵、资源、视图,以及供渲染和查询逻辑使用的索引。
新建表默认包含零条记录;请通过 Facade API 或导入的快照数据显式添加记录。
表快照
| 属性 | 类型 | 说明 |
|---|---|---|
| id | string | 表 ID。 |
| name | string | 表名称。 |
| fields | Record\<string, IFieldSnapshot\> | 以字段 ID 为键的字段定义。 |
| fieldOrder | string[] | 按顺序排列的字段 ID 列表。 |
| records | Record\<string, IRecordSnapshot\> | 以记录 ID 为键的记录数据。 |
| recordOrder? | string[] | 按顺序排列的记录 ID 列表。 |
| primaryFieldId | string | 主字段 ID。 |
| views | Record\<string, IViewSnapshot\> | 以视图 ID 为键的视图。 |
| viewOrder | string[] | 按顺序排列的视图 ID 列表。 |
| resources? | IBaseResources | 共享的选项、成员和附件资源。 |
字段快照
| 属性 | 类型 | 说明 |
|---|---|---|
| id | string | 字段 ID。 |
| name | string | 字段名称。 |
| description? | string | 字段说明。 |
| type | BaseFieldType | 字段类型。 |
| config | Record\<string, unknown\> | 该字段类型专用的配置。 |
| defaultValue? | BaseCellValue | 新记录的默认值。 |
| system? | boolean | 该字段是否由系统管理。 |
| readonly? | boolean | 字段值是否只读。 |
字段类型
常见的字段类型包括 text、number、currency、progress、rating、checkbox、singleSelect、multiSelect、person、group、date、attachment、formula、createdAt、updatedAt、createdBy 和 updatedBy。
编写应用代码时,请使用 Facade 枚举:
TypeScript
const field = table.addField('Due date', univerAPI.Enum.BaseFieldType.Date)记录快照
| 属性 | 类型 | 说明 |
|---|---|---|
| id | string | 记录 ID。 |
| values | Record\<string, BaseCellValue\> | 以字段 ID 为键的值。 |
| orderKey | string | 稳定的排序键。 |
| createdAt | number | 创建时间戳。 |
| updatedAt | number | 更新时间戳。 |
| createdBy? | string | 创建者 ID。 |
| updatedBy? | string | 最后更新者的 ID。 |
Facade 示例
TypeScript
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const title = table.getPrimaryField()const status = table.addField('Status', univerAPI.Enum.BaseFieldType.SingleSelect)const record = table.addRecord({ [title.getId()]: 'Write guide', [status.getId()]: 'In progress',})你觉得这篇文档如何?