Commentaires

Informations sur les plugins

Discutez des tâches, commandes et autres enregistrements. Les commentaires restent associés à l’enregistrement dans les vues Grille, Kanban, Galerie, Calendrier et Gantt ; changer de vue ne crée pas une discussion distincte.

Enregistrer les plugins

Ajoutez-les après les plugins de base et d’interface de Bases :

Shell
pnpm add @univerjs-pro/bases-thread-comment @univerjs-pro/bases-thread-comment-ui
TypeScript
import { UniverBasesThreadCommentPlugin } from '@univerjs-pro/bases-thread-comment'import { UniverBasesThreadCommentUIPlugin } from '@univerjs-pro/bases-thread-comment-ui'import '@univerjs-pro/bases-thread-comment/facade'import '@univerjs/thread-comment/facade'import '@univerjs-pro/bases-thread-comment-ui/lib/index.css'univer.registerPlugin(UniverBasesThreadCommentPlugin)univer.registerPlugin(UniverBasesThreadCommentUIPlugin)

Fusionnez les ressources linguistiques des paquets de commentaires et configurez l’utilisateur actuel de l’application. Le plugin UI ajoute les commandes de commentaire des enregistrements ; le plugin de données associe les commentaires aux enregistrements.

Ajouter et lire des commentaires

TypeScript
const record = univerAPI.getActiveBase()?.getTables()[0]?.getRecords()[0]if (!record) throw new Error('Create a record first')await record.createCommentAsync('Please confirm the delivery date.')const comments = record.getComments()console.log(comments.map(({ root }) => root.id))

getComments() lit les commentaires chargés localement. Avec une source distante, await record.listCommentsAsync() synchronise les fils connus avant de les renvoyer. Consultez la Facade des commentaires pour les réponses, les mises à jour et la suppression.

Enregistrement et discussions partagées

Les commentaires locaux peuvent être enregistrés comme ressources de Base via base.save(). Enregistrez les plugins de commentaires avant de restaurer un instantané.

Les discussions partagées nécessitent aussi un service de commentaires, une source de données et des autorisations. La collaboration documentaire seule ne connecte pas les commentaires. Suivez les modules d’extension Office, puis testez la création, la lecture, les autorisations et la réouverture avec deux comptes.

Opérations communes

Importez la Facade commune et celle du produit. Les méthodes du produit créent les ancres stables ; l’API commune gère réponses, mises à jour, résolution et suppression. getComments() lit l’état local. listCommentsAsync() synchronise les fils déjà connus via la source configurée ; cette méthode ne découvre pas tous les fils du serveur.

TypeScript
import '@univerjs/thread-comment/facade'const [thread] = univerAPI.getComments({ resolved: false })if (thread) {  await univerAPI.replyCommentAsync({    unitId: thread.unitId,    subUnitId: thread.subUnitId,    threadId: thread.threadId,    content: 'Reviewed.',  })}

Discussions partagées

Intégrez Comment Service et Endpoint avec le Server SDK, puis enregistrez UniverThreadCommentDataSourcePlugin de @univerjs-pro/thread-comment-datasource après la collaboration et la licence. La source fournie utilise /universer-api/comment/unit/{unitId}/... et /universer-api/user/list : exposez ces routes dans l’application. Le serveur doit autoriser la lecture et l’écriture des commentaires indépendamment de la modification du document.

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.