Elementos

Los elementos son el contenido visible de un Board: texto, imágenes, formas y conectores. La facade FBoard mantiene sus cambios en la ruta normal de comandos, por lo que participan en deshacer, rehacer y la colaboración.

Leer elementos

Obtén el Board activo antes de leer su página activa. Usa descriptores cuando necesites identificadores, tipos, límites y orden estables sin depender de la instantánea interna completa.

TypeScript
const board = univerAPI.getActiveBoard()if (!board) throw new Error('No active board')const elements = board.describeElements()const shapes = board.findElements({  elementType: univerAPI.Enum.BoardElementType.Shape,})

Insertar formas y texto

Prefiere los métodos de inserción semánticos a construir instantáneas de bajo nivel. En insertShape, la geometría se define en transform; el objeto de forma devuelto ofrece las API de texto y estilo.

TypeScript
const shape = board.insertShape({  shapeType: univerAPI.Enum.ShapeTypeEnum.RoundRect,  transform: { left: 80, top: 80, width: 180, height: 100 },  name: 'Review card',})if (!shape) throw new Error('Cannot insert shape')shape.getText().setText('Review')shape.setRotation(6)

Usa insertText para texto independiente, insertImage para imágenes y las variantes por lotes para añadir varios elementos con un solo comando.

Editar el texto de una forma

Utiliza la forma devuelta por insertShape() a continuación o en el ejemplo anterior. getText() devuelve un objeto FShapeText activo. Lee el texto con getPlainText(), reemplázalo por completo con setText() y configura la fuente, el color y la alineación.

TypeScript
if (!shape) throw new Error('Shape is not available')const shapeText = shape.getText()console.log(shapeText.getPlainText())shapeText  .setText('Quarterly review')  .setFontSize(18)  .setColor('#2563eb')  .setBold(true)  .setHorizontalAlign(univerAPI.Enum.HorizontalAlign.CENTER)  .setVerticalAlign(univerAPI.Enum.VerticalAlign.MIDDLE)

setText() reemplaza el texto existente. Utiliza setRichText() para combinar varios estilos. Para editar texto enriquecido existente, llama a getRichText()?.copy(), modifica el constructor y pásalo a setRichText(). Los cambios del constructor no se aplican automáticamente. Consulta también los estilos de texto y los márgenes y la disposición del cuadro de texto.

TypeScript
const richText = univerAPI.newRichText()  .text('Quarterly ')  .bold('review')shapeText.setRichText(richText)

Conectar elementos

Los conectores pueden asociarse a identificadores de elementos existentes. Conserva el conector devuelto o su identificador si después necesitas modificar su estilo, etiqueta o extremos.

TypeScript
const target = board.insertShape({  shapeType: univerAPI.Enum.ShapeTypeEnum.Rect,  transform: { left: 360, top: 80, width: 180, height: 100 },})if (!target) throw new Error('Cannot insert target')const connector = board.insertConnector({  fromElementId: shape.getId(),  toElementId: target.getId(),  style: { endMarker: { type: 'filledTriangle', size: 'md' } },})if (!connector) throw new Error('Cannot insert connector')

Transformar y organizar elementos

Modifica solo las propiedades necesarias. Los métodos de orden, alineación, distribución y diseño automático también aceptan identificadores de elementos.

TypeScript
if (!board.setElementTransform(shape.getId(), { left: 120, top: 140, rotation: 12 })) {  throw new Error('Cannot transform shape')}if (!board.bringElementsToFront([shape.getId()])) {  throw new Error('Cannot bring shape to front')}

Eliminar elementos

Usa removeElement para un elemento o removeElements para eliminar varios de forma atómica. Ambos devuelven si el comando se completó correctamente.

TypeScript
if (!board.removeElements([connector.id, target.getId()])) {  throw new Error('Cannot remove elements')}

Para grupos enmarcados y carriles, continúa con Contenedores y carriles. Consulta también la referencia de la facade de Boards y el modelo de datos de elementos.

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.