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.SingleSelect)操作記錄
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(),})參考資料
你覺得這篇文檔如何?