当标签名称更改时,在Canvas上重新渲染组件
@z1lk我已经在下一个版本加了这个功能 “''js 模型 在 init 内部 this.listenTo(this, 'change:tagName', this.tagUpdated); // ... tagUpdated() { const coll = this.collection; cont at = coll.indexOf(this); coll.remove(this); coll.add(this, { at }); }, ```
阅读下方完整回答 ↓问题
我正在尝试构建一个基础的Header组件,允许你用一个特质选择H1到H6。但当选择某个选项时,画布不会更新。在代码视图中可以看到这个变化,如果我用拖曳工具移动画布中的元素,标签也会随之改变。我一直在阅读API文档和源代码,但我无法让组件自动重新渲染。我怀疑Grapes并没有监听组件标签名称的变化。在这种情况下,强制重渲染的合适方法是什么? “''js var comps = 编辑器。主导组件; VAR 块 = 编辑器。BlockManager; var textType = comps.getType('text'); var textModel = textType.model; var textView = textType.view; comps.addType('header', { model: textModel.extend({ defaults: Object.assign({}, textModel.prototype.defaults, { 'custom-name': 'Header', 标签名称:'h1', 特质:[ { 类型:“选择”, 选项:[ {值:“h1”,名称:“一(最大)”}, {值:'h2',名称:'Two '}, {值:'h3',名称:'三'}, {值:'h4',名称:'Four '}, {值:'h5',名称:'Five '}, {值:'h...
回答(3)
@z1lk我已经在下一个版本加了这个功能 “''js 模型 在 init 内部 this.listenTo(this, 'change:tagName', this.tagUpdated); // ... tagUpdated() { const coll = this.collection; cont at = coll.indexOf(this); coll.remove(this); coll.add(this, { at }); },
我不确定为什么“el”会是字符串,但请看关闭该问题的提交:https://github.com/artf/grapesjs/commit/e450cb98855d16ad819f1214350825a50e45e910 如果你用的是最新的 Grapes 版本,组件会监听 'tagName' 的更改,并自己做节点替换。所以你应该可以移除你的“init”和“tagUpdated”函数。该特征会更新“tagName”,组件负责其余部分。 编辑: 我还想到:有时传递给 'isComponent' 的对象没有我调用的方法,这种情况下会出错。你可以先做安全检查: “''js if(el && el.ta...
是的,这是因为你不能更改现有DOM元素的标签名。可能的解决办法是在更改“tagName”时,移除并替换该节点(保持在同一位置)
相关问答
通过相似的问题讨论继续研究。
问题 #1162
:Handlebars 渲染模板中的可编辑组件
你好,我已经用葡萄大约有几天了。感谢你在这个项目上的精彩工作。我已经看过API文档(希望没漏掉这部分),也尝试了一些方法。基本上,我用 Grapes 加载已有的 .hbs(把手)文件,用户就可以编辑了。我看到之前有人问#938里如何整合车把,我照做了,最后得到了。 “JavaS...
问题 #818
点击文本元素,打开不同面板视图
我怎样才能让文本上的“点击”事件打开不同于StyleManager的面板视图? 我正在尝试这个:
问题 #1964
创建自定义组件的最低要求
我整天都在看关于创建自定义组件的文档。我也看过 grapesjs-mjml 作为例子。我正在尝试为 react 组件创建一个基础类型,可以根据需要扩展,但目前我只想知道调用哪些生命周期方法以及何时被调用。我正在尝试具体区分“render”和“toHTML”这两个词。我只做了一个...
问题 #486
自定义组件不可编辑,而且特性更新后画布也不会更新
下面是我用于特质和自定义部分的代码,但通过块添加组件后,无法编辑文本或特质更新无法更新画布。我有扩展的“文本”,而且用editor.html()时也拿不到html,点击图片时也不会打开资产管理器。我肯定是遗漏了什么。 “''js var defaultType = comps....
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。