如何只为特定的图像组件启用功能,而不是全部
你走在正确的道路上。是的,你需要为此创建一个新组件,但你无法覆盖图像组件类型,否则你看到的所有图片都会被覆盖。 这些照片有什么独特之处?你如何区分普通图像和特定图像?这个逻辑你需要加到你的“isComponent”fn里。 提示:可以从现有的Image组件类型扩展你的新组件类型。
阅读下方完整回答 ↓问题
我已经在图片组件中启用了FA的fa-pencil图标,但我只希望它在特定图片组件中启用,而不是所有组件。我该如何实现这一点?
这是我的代码
domc.addType(“image”, {
型号:{
initToolbar() {
typeImage.prototype.initToolbar.apply(this, arguments);
const tb = this.get(“toolbar”);
const tbExists = tb.some(item = > item.command === “open-assets”);
如果 (!tbExists) {
TB.unshift({
命令:“开放资产”,
标签:toolbarIcon
});
this.set(“toolbar”,TB);
}
}
}
});
回答(3)
你走在正确的道路上。是的,你需要为此创建一个新组件,但你无法覆盖图像组件类型,否则你看到的所有图片都会被覆盖。
这些照片有什么独特之处?你如何区分普通图像和特定图像?这个逻辑你需要加到你的“isComponent”fn里。
提示:可以从现有的Image组件类型扩展你的新组件类型。
我试过这个方法,并且从我希望应用该功能的 img 标签中移除了 gjs-data-type=“image”。但它既没有实现这些功能,还会干扰组件的其他属性。
@sakshigarg9为了防止混乱,使用新的 ['addType'](https://grapesjs.com/docs/modules/Components.html#improvement-over-addtype)(你会漏掉 'view' 属性,这会破坏旧声明中的某些内容)
顺便说一句,我建议通过扩展“图片”来创建一个**新*组件类型,而不是仅仅扩展当前的图片(这样你就是编辑所有图片)。
相关问答
通过相似的问题讨论继续研究。
问题 #1929
加载资产管理器,但资产不工作
我用铅笔图标来触发资产管理。触发功能正常,但当我点击任何图片时,我的图片组件中没有任何变化。即使我选择了不同的图片,它也会显示现有的照片。
问题 #436
RemoteStorage - 加载模板使用 POST
我正在使用自定义模块来保存/加载一个模板,服务如下: 存档是另一个模块,但运行正常。问题出在 Load() 调用上。不知为何,Grapes 对“localhost:8000/templates/5”执行 POST 操作,结果触发了 405 - 后端不允许的方法。 如果请求中没有...
问题 #400
隐藏命令中的一个元素
你好, 我想在点击工具栏按钮时隐藏某个特定元素 命令:{ 默认值:[{ id:“submenuitem”, run: function(editor, senderBtn){ 我想隐藏“photostack-1”元素 ???? ???? ???? }, }], } VAR DO...
问题 #1241
:新风格未反映在面板中
你好, 在我的项目中,我用自己的方式替换了AssetManager。 但是,当我用新管理器更新组件的背景图像时,背景图像显示了,但新状态没有反映在面板上。 基本上我的问题是:我该如何检测用户正在编辑的属性或属性?又该如何在小组中反映新的状态? 此致, 理查德
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。