보드 데이터 구조

IBoardData

IBoardData는 Univer Boards에서 사용하는 스냅샷 형식입니다. 페이지 순서, 페이지 데이터, 리소스, 테마, 활성 페이지, 확대/축소 비율, 보드 수준 설정을 포함하여 하나의 보드 유닛을 설명합니다.

속성

속성타입설명
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.