diff --git a/packages/plugins/materials/src/composable/useMaterial.ts b/packages/plugins/materials/src/composable/useMaterial.ts index 97e5e6bd32..6a2d75612e 100644 --- a/packages/plugins/materials/src/composable/useMaterial.ts +++ b/packages/plugins/materials/src/composable/useMaterial.ts @@ -271,7 +271,9 @@ const addComponentSnippets = (componentSnippets, snippetsData) => { if (snippetsMap.has(snippetGroup.group)) { snippetsMap.get(snippetGroup.group).children.push(...snippetGroup.children) } else { - snippetsData.push(snippetGroup) + const snippetGroupClone = deepClone(snippetGroup) + snippetsData.push(snippetGroupClone) + snippetsMap.set(snippetGroup.group, snippetGroupClone) } }) @@ -486,6 +488,12 @@ const initMaterial = ({ isInit = true, appData = {} } = {}) => { } } +const refreshMaterial = async () => { + clearMaterials() + initMaterial() + await fetchMaterial() +} + /** * 根据组名获取指定分组组件 * @param {Array} components 所有组件 @@ -526,6 +534,7 @@ export default function () { getBlockCompileRes, addBlockResources, updateBlockCompileCache, - getComponentsByGroup + getComponentsByGroup, + refreshMaterial } } diff --git a/packages/plugins/materials/src/meta/component/src/Main.vue b/packages/plugins/materials/src/meta/component/src/Main.vue index 877920ee6e..36c5e99a5b 100644 --- a/packages/plugins/materials/src/meta/component/src/Main.vue +++ b/packages/plugins/materials/src/meta/component/src/Main.vue @@ -35,7 +35,7 @@