编辑器中只允许一个特定类型的组件
你好@krunal039, 我最好的建议是关注[component:add](https://github.com/artf/grapesjs/wiki/API-Editor#available-events)事件。在事件监听函数中,你可以检查新增组件是否是你想要的类型,如果画布中出现多个组件,就移除刚添加的组件并通知用户。
阅读下方完整回答 ↓问题
有没有办法不允许在页面上多次丢弃某个特定组件?我有自定义组件,用户不能在页面上投放超过一个组件,所以如果组件已经在页面上添加,我希望显示特定信息,不允许在编辑器中被丢弃
回答(3)
你好@krunal039,
我最好的建议是关注[component:add](https://github.com/artf/grapesjs/wiki/API-Editor#available-events)事件。在事件监听函数中,你可以检查新增组件是否是你想要的类型,如果画布中出现多个组件,就移除刚添加的组件并通知用户。
editor.on('component:add', model => {
// ...你的逻辑应该放在这里
if(remove){
model.destroy();
}
});
@krunal039瑞安的建议是实现你请求的正确方式
相关问答
通过相似的问题讨论继续研究。
问题 #1374
默认组件属性
有没有办法更改组件的默认属性? 我希望几乎所有内容都是“可复制:false,可调整尺寸:false,可拖拽:false”,除非加载的组件特别提供“data-resizable=true”。 所以基本上我想把一些组件列入白名单来启用这些功能,而不是黑名单。 这可行吗?
问题 #491
资产管理人替代
有没有可能用完全不同的产品替代资产管理公司(比如CKFinder - https://ckeditor.com/ckeditor-4/ckfinder/)?或者,是否有可能在葡萄之外推出包含的资产管理公司?
问题 #2061
如何在画布末端放置一个组件。
我该如何把页脚放在画布的末端? 我希望编辑器不允许在页脚下方放置方块/小部件。 示例
问题 #2073
使用 urlLoad 遇到的问题
我在调用终端加载模板时遇到问题,它正在执行预检选项请求,但我找不到在确认后继续的方法 componentDidMount() { this.editor = GrapesJS.init({ 容器:“#grapeEditor”, 插件:[gjsPresetNewsletter],...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。