问题 #2426✓ 已解决提出于 2019年11月25日作者 Hovius3 个反应

如何用新的编辑器配置处理旧组件(JSON)?

快速解答作者 artf2

编辑器能在不手动添加新组件的情况下,直接识别新的组件配置吗? 其实不完全是,如果你以一种方式存储组件定义,编辑器会加载该定义。 我唯一能建议的是使用“avoidDefaults”(从v0.15.5起默认为“true”)。这样可以避免存储所有默认组件属性,避免这些情况

阅读下方完整回答 ↓

问题

你好,@artf,

我有一个关于葡萄编辑器的问题,文档里找不到,希望你能给出答案。

基础配置:

所有组件的配置都用初始化来设置 'this.editor = grapesjs.init(defaultConfiguration);'

之前保存的json中的组件是通过setComponents()添加的。 'this.editor.setComponents(templateComponents)'

问题所在: 我有一个自定义组件,想从中更新配置。就我而言,我想把可样式性质更新为false。 所以我更改了组件配置,现在当我向画布添加新组件时,它会带有可样式的false属性。那很好。

但其他用 setComponents 设置的组件,仍然保留着“可样式:true”属性。因为json是用不同的配置创建的。

但是,只有当我编辑组件时,画布上的所有组件才会重新添加,并且会覆盖旧组件配置(新json)。(改为“可样式化:虚假”)

我的问题是: 当我们还有很多持久化的旧JSON配置和旧配置时,我们该如何处理新的组件配置?编辑器能在不手动添加新组件到画布的情况下,自动识别新的组件配置吗?

提前感谢大家!

回答(2)

👍 最有帮助artf2019年11月29日

编辑器能在不手动添加新组件的情况下,直接识别新的组件配置吗?

其实不完全是,如果你以一种方式存储组件定义,编辑器会加载该定义。

我唯一能建议的是使用“avoidDefaults”(从v0.15.5起默认为“true”)。这样可以避免存储所有默认组件属性,避免这些情况

Hovius2019年12月2日

谢谢你的回复! 我打算用“avoidDefaults: true”来实现:)

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

浏览插件分类

直接跳转到市场上的插件分类页面。