跳到正文
Text Diagram
开发者文档
预览版 · 未发布

嵌入 Vue 工作台

在自己的 Vue 页面中嵌入共享工作台,明确样式、宿主请求和提交生命周期。

TextDiagramEditor 负责编辑草稿、预览、下载和提出保存请求。应用负责当前文档、持久化以及是否接受修改。工作台不直接写入你的编辑器或服务器。

样式与主题

从 @quirekit/text-diagram-editor/vue 导入组件,同时导入 @quirekit/text-diagram-editor/styles.css。界面控件还需要 @quirekit/unocss-preset 的生成样式,以及 @quirekit/ui/vue 的主题、语言和图标 Provider。

按设计系统开始使用配置 defineQuireKitUnoConfig、UnoCSS Vite 插件和 virtual:uno.css;本地预览中的设计站使用固定端口 3200。将 QuireThemeProvider、QuireLocaleProvider、QuireIconProvider 放在应用根,图标使用 @quirekit/ui 的 quireIconRegistry。本站已经由共享外壳配置这些 Provider。

完整可运行接入

先看 workspace/editor.vue:它在挂载后提供 ownerDocument,从宿主取得 request,再把两者交给工作台。点击保存后,宿主决定是否接受修改。

文件要修改什么时查看
workspace/editor.vue组件挂载、保存与取消后的页面行为
recipes/session.ts当前对象、版本比较和本地存储
shared/locale.ts示例界面文案
shared/types.ts宿主共享类型

示例使用浏览器本地存储;替换 persist 回调可接到自己的同步本地事务。源码页签一次查阅一个文件。

正在准备示例…

组件合同

属性 / 事件用途
request必填,包含基线 document、同步 commit 和 release
ownerDocument必填,挂载后的浏览器 Document
locale控件与新模板的语言;默认中文,支持英文
languages可选,仅开放已安装的语言;省略时为三种语言
titleEditable需要标题输入时显式设为 true;Markdown 宿主可设为 false
saved宿主返回 saved 后触发,应用刷新基线或关闭工作区
cancel用户取消,应用释放请求并决定下一步

request.document 在组件创建时作为基线。切换到另一对象或接受保存后,先释放旧请求,再用新的 key 挂载组件。不要仅替换 request 期待当前草稿自动重置。

释放与 SSR

内嵌组件不会替应用释放宿主目标;在取消、重建或卸载时调用 request.release()。组件自身会释放预览和 CodeMirror。ownerDocument 在 onMounted 后赋值;Nuxt 通过 ClientOnly 或 .client.vue 页面边界挂载工作台,服务端不访问 document。

源码和预览必须一起提交,完整合同见保存与恢复。

Text Diagram · QuireKitQuireKit 文本绘图 · 本地渲染与源码工作台 · MIT