ボードのデータ構造

IBoardData

IBoardData は Univer Boards で使用されるスナップショット形式です。ページの順序、ページデータ、リソース、テーマ、アクティブなページ、ズーム倍率、ボード単位の設定など、1つのボードユニットを表します。

プロパティ

プロパティ型説明
idstringボードユニットの一意な ID。
rev?number永続化レイヤーまたは共同編集レイヤーで使用される、省略可能なリビジョン値。
namestringボード名。
appVersionstringスナップショットを作成したパッケージのバージョン。
locale?stringボードのロケール。
defaultPageSizeIBoardPageSizeボードページのデフォルトサイズ。
pageOrderstring[]ボードページ ID の順序付きリスト。
pagesRecord\<string, IBoardPage\>ページ ID をキーとするページのスナップショット。
activePageId?stringアクティブなページの ID。
theme?IBoardThemeData現在のボードテーマ。
themes?Record\<string, IBoardThemeData\>名前が付けられた追加のテーマ。
zoomRatio?number現在のズーム倍率。
resources?IResources画像、リッチテキスト、テーブルなどの要素で使用される外部リソース。
custom?`Record<string, unknown>null`
boardSettings?IBoardSettingsボード単位の UI および操作設定。

ページデータ

IBoardPage は要素を ID ごとに格納し、elementOrder でレンダリング順を定義します。スナップショットを自分で構築する場合は、両方の構造の整合性を保ってください。

TypeScript
const boardData = {  id: 'board-1',  name: 'Planning board',  appVersion: '1.0.0',  defaultPageSize: { width: 1920, height: 1080 },  pageOrder: ['page-1'],  pages: {    'page-1': {      id: 'page-1',      pageType: 'page',      name: 'Page 1',      elementOrder: ['text-1'],      elements: {        'text-1': {          id: 'text-1',          type: 'text',          transform: { left: 120, top: 96, width: 240, height: 80 },          text: 'Kickoff',        },      },    },  },  activePageId: 'page-1',}

用途

IBoardData は主に次の用途で使用します。

  1. UniverInstanceType.UNIVER_BOARD ユニットを作成する。
  2. ボードドキュメントを永続化および復元する。
  3. インポート、エクスポート、またはサーバー側処理用のデータを準備する。
  4. レンダリング前に、ボードへページ、要素、設定の初期データを投入する。

スナップショットオブジェクトは永続化用のデータです。ボードの起動後は、スナップショットオブジェクトを直接変更せず、Facade API を使用することを推奨します。

このガイドはいかがですか?

© 2026 DreamNum Co., Ltd.