创建自定义组件的最低要求
首先,开始使用组件的[改进定义](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)。 在你的例子中,“content: (<div>Foo</div>)”会被编译成一个对象,当你在编辑器中添加一个对象或数组时,意味着你不再需要解析过程,所以你永远不会点击“isComponent”,因此该类型不会被初始化。 顺便说一句,你想和你的剪辑师达成什么效果并不那么明确
阅读下方完整回答 ↓问题
我整天都在看关于创建自定义组件的文档。我也看过 grapesjs-mjml 作为例子。我正在尝试为 react 组件创建一个基础类型,可以根据需要扩展,但目前我只想知道调用哪些生命周期方法以及何时被调用。我正在尝试具体区分“render”和“toHTML”这两个词。我只做了一个基础组件并做了一些日志记录,但似乎没什么效果。这是我的代码 “''js 从 'react' 导入 React; 导出默认编辑器 => { var comps = 编辑器。主导组件; var defaultType = comps.getType('default'); var defaultModel = defaultType.model; var defaultView = defaultType.view; “输入”将是组件类型ID comps.addType('react-base', { 定义模型 model: defaultModel.extend({ toHTML() { 我们得做点定制处理 console.log('toHTML') }, }, .extend 的第二个参数是静态方法,我们将在 isComponent() 方法。当你在堆栈顶部放置一个新的组件类型时, 不声明isComponent()可能会导致问题,尤其是如果你扩展了 默认的。 { isComponent(el) { cons...
回答(2)
首先,开始使用组件的[改进定义](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)。 在你的例子中,“content: (<div>Foo</div>)”会被编译成一个对象,当你在编辑器中添加一个对象或数组时,意味着你不再需要解析过程,所以你永远不会点击“isComponent”,因此该类型不会被初始化。 顺便说一句,你想和你的剪辑师达成什么效果并不那么明确
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
相关问答
通过相似的问题讨论继续研究。
问题 #1162
:Handlebars 渲染模板中的可编辑组件
你好,我已经用葡萄大约有几天了。感谢你在这个项目上的精彩工作。我已经看过API文档(希望没漏掉这部分),也尝试了一些方法。基本上,我用 Grapes 加载已有的 .hbs(把手)文件,用户就可以编辑了。我看到之前有人问#938里如何整合车把,我照做了,最后得到了。 “JavaS...
问题 #631
如何在样式管理器中刷新激活组件的类视图
我正在使用一个特性(type=select)来更改组件的类(一个“列”组件,也就是代表宽度为1-12的类)。在我移除了之前的“col-*”类并添加新选中的类(通过select更改触发的函数)后,样式管理器的类部分仍然保留着旧类。如果我选择另一个组件,然后再次选择该列,它会得到新...
问题 #665
自定义组件与存档
抱歉,又是我! 我正在尝试用我的新组件“img-link”保存我的模板: 但当我用“gjs-get-inlined-html”命令保存模板(这是一个新闻通讯模板)时,它不会保存我的图片的原始字符。 你能帮帮我吗? “JavaScript 导出默认值(编辑器,config = {...
问题 #1529
Componet 不可编辑
我有自定义组件,并应用了 editable=true,但子元素不可编辑,我甚至尝试添加 data-gjs-editable=true,也尝试使用基本组件块,但整个组件都无法编辑。 'var 滑块类型 = 'hsbc-slider-1'; var createSliderComp...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。