问题 #2043💬 已回答提出于 2019年5月28日作者 megarg0 个反应

添加自定义组件不起作用

快速解答作者 artf

首先,使用[改进版API](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)。 “isComponent” 只有在你需要解析 HTML 字符串时才会触发,如果你传递组件对象(例如 '{ type: 'input2', }'),则不需要解析。 你在画布里看不到任何东西,因为显然HTML5中没有INPUT2元素

阅读下方完整回答 ↓

问题

我做了很多研究,但仍然无法添加自定义组件。我尝试了官方文档中的示例(修改“输入”元素的行为),效果很好。 https://grapesjs.com/docs/modules/Components.html#define-new-component 但上述例子是修改现有组件(“输入”)。 我正在尝试弄清楚如何创建一个新的组件。以下是我的代码,但它无法正常工作(我在表格中拖动时没有打印任何内容)。- 注意我使用了官方示例,并稍作修改以创建这个自定义组件。 请帮帮我,我可能哪里做错了...... comps.addType('input2', { 定义模型 model: defaultModel.extend({ 扩展默认属性 defaults: Object.assign({}, defaultModel.prototype.defaults, { 只能在“形式”元素内丢弃 可拖拽:'form, form ', 不能把其他元素放进去 可掉落:错误, 特质(设定) }), }, .extend 的第二个参数是静态方法,我们将在 isComponent() 方法。当你在堆栈顶部放置一个新的组件类型时, 不声明isComponent()可能会导致问题,尤其是如果你扩展了 默认的。 { isComponent: function(el) { if(el.tagName == 'INPUT2'...

回答(1)

相关问答

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

问题 #460

当组件视图修改HTML时,文本组件不再可编辑

我正在尝试构建一个自定义组件,内容中包含一些Lorem ipsum文本,以便在画布上进行编辑。但我也想修改视图中的HTML(添加一些我想在编辑器中显示但不在已保存HTML中的内容)。我尝试过类似这样的方法: 问题是,如果我像上面那样修改render()函数,文本部分中的文本组件...

3 个回答更新于 2019年9月18日

问题 #1723

替换掉落组件中的特定文本

你好,我通过输入的自定义特征获得了这个值,但我不知道如何在丢弃组件中更改具体值并渲染到画布里 我的截图 ![图片](https://user-images.githubusercontent.com/33427536/50975854-88ca4f80-1514-11e9-85...

2 个回答更新于 2020年1月15日

问题 #1891

无法创建新的按钮组件

我在为一个元素创建一个新组件时遇到了<button>困难。我到底漏掉了什么?这里是不是出了什么问题?如果我把它改成“<input>''元素,效果很好:

3 个回答更新于 2020年3月21日

问题 #459

在另一个模块中包含自定义组件时出现错误

抱歉标题有点模糊。我不太确定如何简洁地描述这件事。我有一个自定义块,想限制只有图片可以丢进块的某个部分。我尝试过类似这样的方法: 然而,当我这样做时,尝试将方块从方块调色板中拖出时,会出现以下错误: ... grapes.min.js:2 未捕获类型错误:s 不是构造函数 at...

3 个回答更新于 2019年9月18日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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