Campos
Los campos definen el esquema de una tabla base. Cada campo tiene un tipo, configuración, valor predeterminado y capacidades como ordenar, filtrar, agrupar o mostrar tarjetas.
Tipos de campo
| Uso | BaseFieldType |
|---|---|
| Texto y datos de contacto | Text, Link, Phone, Email |
| Números y progreso | Number, Currency, Progress, Rating |
| Opciones y miembros | Checkbox, SingleSelect, MultiSelect, Person, Group |
| Fechas y adjuntos | Date, Attachment |
| Cálculos y relaciones | Formula, RecordLink |
| Valores generados y auditoría | Numbering, RecordId, CreatedBy, UpdatedBy, CreatedAt, UpdatedAt |
Use los ID de opción para las selecciones y los ID de su aplicación para los miembros. El sistema administra la numeración y los campos de auditoría. Consulte las fórmulas y las relaciones.
Agregar campos
const table = base.getTableById('tasks')if (!table) throw new Error('Tasks table not found')const title = table.addField('Title', univerAPI.Enum.BaseFieldType.Text)const priority = table.addField( 'Priority', univerAPI.Enum.BaseFieldType.SingleSelect, { field: { config: { options: [ { id: 'high', name: 'High', color: '#ef4444' }, { id: 'low', name: 'Low', color: '#22c55e' }, ], }, }, },)Actualizar campos
priority.setName('Impact')priority.update({ description: 'Business priority' })priority.setConfig({ options: [ { id: 'p0', name: 'P0', color: '#dc2626' }, { id: 'p1', name: 'P1', color: '#f97316' }, ],})Cambiar tipo de campo
priority.changeType(univerAPI.Enum.BaseFieldType.Text, {})Cambiar un tipo de campo puede normalizar los valores existentes. Valide los datos en su aplicación antes de aplicar cambios de esquema a las tablas de producción.
Archivos adjuntos
Los adjuntos necesitan un ID estable, un nombre y una fuente accesible. Este ejemplo supone que la aplicación ya ha subido el archivo.
const attachments = table.addField('Files', univerAPI.Enum.BaseFieldType.Attachment)const record = table.getRecords()[0]if (!record) throw new Error('Create a record first')record.setAttachments(attachments.getId(), [{ id: 'brief-1', name: 'brief.pdf', mimeType: 'application/pdf', source: 'https://example.com/files/brief.pdf',}])setAttachments() reemplaza toda la lista. Use getAttachments() para leerla y deleteAttachments() para eliminar elementos concretos. Sustituya la URL por una dirección accesible y configure la subida en el registro existente de Bases UI:
univer.registerPlugin(UniverBasesUIPlugin, { attachment: { accept: ['image/*', '.pdf'], maxSize: 10 * 1024 * 1024, upload: uploadAttachment, },})La firma de uploadAttachment es (file: File) => Promise<IBaseAttachment> y devuelve los datos mostrados arriba. maxSize se expresa en bytes. Sin un gestor propio, el plugin intenta E/S de imágenes y después Base64, lo que aumenta la instantánea. En producción, conecte un almacenamiento y valide tipo, tamaño y permisos de descarga en el servidor.
Personas y grupos
Proporcione candidatos mediante personOptions y groupOptions de Bases UI. Cada elemento tiene id, name y un avatar opcional. Son opciones de presentación; la aplicación gestiona la autenticación y los permisos.
¿Cómo es esta guía?