Univer Bases API
了解如何在 Univer Bases 应用中使用 Facade API。
Facade API 在 Bases 模型之上提供了一个面向应用的接口层,可用于创建 Base、表格、字段、记录、视图、筛选条件、排序、分组和选区,以及进行 UI 导航等常见操作。
注意
Base 模型变更是同步的;UI 激活方法返回 Promise,需要使用 await。
启用 Facade 入口
为应用使用的每项 Bases 功能导入相应的 Facade 入口:
TypeScript
import { FUniver } from '@univerjs/core/facade'import '@univerjs-pro/bases/facade'import '@univerjs-pro/bases-ui/facade'注册 Univer 实例和所需插件后,再创建 API 对象:
TypeScript
const univerAPI = FUniver.newAPI(univer)创建和读取 Base
使用 createBase 通过 Facade 层创建 Base 单元。在底层配置代码中,使用 univer.createUnit(UniverInstanceType.UNIVER_BASE, snapshot) 创建该单元。
TypeScript
const base = univerAPI.createBase({ id: 'base-demo', name: 'Base Demo',})const activeBase = univerAPI.getActiveBase()const sameBase = univerAPI.getBase(base.getId())创建表格
TypeScript
const table = base.insertTable('Tasks', { primaryFieldName: 'Title' })const status = table.addField('Status', univerAPI.Enum.BaseFieldType.Text)操作记录
TypeScript
const record = table.addRecord({ Title: 'Write docs', Status: 'In progress',}, univerAPI.Enum.BaseFieldKeyEnum.Name)record.setValue(status.getId(), 'Done')操作 UI 状态
@univerjs-pro/bases-ui/facade 提供用于激活表格/视图、选择、滚动、编辑和操作面板的 UI API。
TypeScript
const baseUI = univerAPI.getBaseUI()const view = table.getViews()[0]if (!view) throw new Error('No table view')await baseUI.activateTable(table.getId())await baseUI.activateView(view.getId())baseUI.setSelection({ type: 'grid-record', tableId: table.getId(), viewId: view.getId(), recordId: record.getId(),})参考
你觉得这篇文档如何?