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(),})

参考

你觉得这篇文档如何?

© 2026 DreamNum Co., Ltd.