问题 #2486✓ 已解决提出于 2020年1月2日作者 andrewryan190612 个反应

我该如何为所有现有的组件类型添加一个特性?

快速解答作者 pouyamiralayi12

@andrewryan1906拉取默认特质: 所以你的特质定义如下: 干杯!

阅读下方完整回答 ↓

问题

我想浏览所有现有的组件类型,并在模型>默认中添加一个特性,但不知道该怎么做。根据文档,我应该能(在我的插件里):

现在——每个组件应有的特征——我们想要应用的基础特征
  domComponents.getTypes().map(type => {

domComponents.addType(type.id, {

型号:{
        默认值:{

特质:[
            {
              标签:“允许在页面中编辑”,
              名称:“allow_editing_in_pages”,
              类型:“复选框”
            }
          ]
        }
      }

})
  });

但这样会覆盖特质数组,移除现有特质,这不是我想要的。下一步是尝试获取旧特质并与新特质合并——但我不知道如何拉取每种类型的默认特质来实现这一点。

我怎样才能给所有(或部分)组件类型附加一个性状?

回答(1)

👍 最有帮助pouyamiralayi2020年1月3日

@andrewryan1906拉取默认特质:

domComponents.getType(type.id).model.prototype.defaults.traits

所以你的特质定义如下:

特质:[
    ...domComponents.getType(type.id).model.prototype.defaults.traits,
    {
        标签:“允许在页面中编辑”,
        名称:“allow_editing_in_pages”,
        类型:“复选框”
    }
]

干杯!

相关问答

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

问题 #3174

创建新的组件类型不会继承其父类型的函数

你好,我正在尝试通过创建以下插件来创建一个所有组件共享的新共同特性 在另一个插件文件中,我也按照文档的做法创建了一个新的组件类型,叫做“extendedText”,它以“文本”类型为基础。而文本类型则有如下所示的“handleBgColorChange()” ![图片](htt...

2 个回答更新于 2020年12月9日

问题 #5232

工作者 - 无头“文档未定义”

葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 114.0.5735.133 可复制演示链接 不可能添加工蚁来繁殖。 描述一下那个虫子 如何复现这个漏洞?添加一名网页工作人员。在工作者内部初始化 GrapesJS,并设置“无头”选项。添加一个带...

4 个回答更新于 2023年7月11日

问题 #3732

注释组件类型不支持添加特征

我正在开发一个脚本,可以在所有组件类型上添加一个特征,但注释类型没有原型对象。 代码 “''js ddw = 编辑。DomComponents.getTypes(); 对于(设i = 0;i <ddw.length;i++) { DDQ = ddw[i].id; 编辑。DomC...

4 个回答更新于 2022年5月24日

问题 #3409

自定义组件属性,但不是特质

我想创建一个带有属性的自定义组件,该属性会被特定代码更新,但我不希望这个属性作为特性可见且可更新;假设我的属性叫“ebTesto”,我写了一个插件函数: 我本以为会在存储的 JSON 的“gjs-components”部分找到新属性,但结果是这样的: 也许我尝试的方式错了? 有...

4 个回答更新于 2021年4月23日

与此问题匹配的付费插件

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

查看全部插件

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

免费方案

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

浏览免费插件 →
高级方案

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

浏览高级插件 →

浏览插件分类

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