diff --git a/src/YysEditorEmbed.vue b/src/YysEditorEmbed.vue index 21f4f57..4730b82 100644 --- a/src/YysEditorEmbed.vue +++ b/src/YysEditorEmbed.vue @@ -154,26 +154,6 @@ const contentHeight = computed(() => { const initPreviewMode = () => { if (!previewContainerRef.value) return - // 注册自定义节点 - register({ - type: 'imageNode', - component: ImageNode - }) - register({ - type: 'assetSelector', - component: AssetSelectorNode - }) - register({ - type: 'textNode', - component: TextNode, - model: TextNodeModel - }) - register({ - type: 'vectorNode', - component: VectorNode, - model: VectorNodeModel - }) - // 创建 LogicFlow 实例(只读模式) previewLf.value = new LogicFlow({ container: previewContainerRef.value, @@ -192,6 +172,26 @@ const initPreviewMode = () => { plugins: [Snapshot, MiniMap, Control] }) + // 注册自定义节点(必须在 LogicFlow 实例创建后) + register({ + type: 'imageNode', + component: ImageNode + }, previewLf.value) + register({ + type: 'assetSelector', + component: AssetSelectorNode + }, previewLf.value) + register({ + type: 'textNode', + component: TextNode, + model: TextNodeModel + }, previewLf.value) + register({ + type: 'vectorNode', + component: VectorNode, + model: VectorNodeModel + }, previewLf.value) + // 渲染数据 if (props.data) { previewLf.value.render(props.data) diff --git a/src/index.js b/src/index.js index c437a20..d5b1822 100644 --- a/src/index.js +++ b/src/index.js @@ -3,6 +3,7 @@ import YysEditorEmbed from './YysEditorEmbed.vue' // 导出组件 export { YysEditorEmbed } +export { YysEditorEmbed as YysEditorPreview } // 别名导出,用于 wiki 预览场景 // 默认导出 export default YysEditorEmbed