Allow dynamic droppable configuration using a function
问题
我有一个要求,不能用选择器来判断某个元素是否可以丢弃。 例如:  “子”组件必须位于“父”组件中,但如果子组件包含 ref 属性,只能将其拖入与当前父组件匹配的 ref 值的其他父容器中。 根据上述标记,子组件可以丢弃到最后一个容器,但不能丢弃参考为5678的容器。 不过,第二个子元素可以被丢弃到任一父组件中。 如果可丢弃函数允许以下函数,这将很容易实现: 可掉落:(src,目标)=> { 一些逻辑 返回真值; }, 这需要对分拣器进行相当简单的更改: 检查目标是否能接受源 让 droppable = trgModel.get('droppable'); 如果(typeof droppable === '函数') { 设 res = 可掉落(src, trg); result.droppable = res; result.dropInfo = res; 可丢弃 = res; } 否则 { 现有逻辑
回答(3)
@artf对这个功能或PR的做法有任何疑问吗?
谢谢你举报,@rywilson28。 关于FEAT:允许使用函数动态丢弃配置的好建议!虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插件,扩展编辑器并具备此功能 正式宣布: 如果此功能能惠及更多用户,考虑在 GrapesJS 仓库...
相关问答
通过相似的问题讨论继续研究。
问题 #3447
Javascripts are not working due to encoding issue
1 - 我复制了打字文本组件代码,而不是演示HTML代码; 2 - 并增加了allowScripts:1; 你可以在这里看到示例:http://bashworld.ru/demo.html 点击 查看代码,我们会看到许多 JS 编码字符。 我该如何解决这个问题?我需要解码所有...
问题 #3486
专长:能够将所有边距、填充等属性合并更改
你好,目前 grapesjs 内置了属性,比如边际、填充,允许用户逐一更改每个属性(margin-top、margin-bottom等)。 如果能同时更改所有这些属性会很不错。比如说,有个锁定按钮,启用后会同时更改所有属性,而不是一个一个。它可能看起来像这样:  部分,并且已经设置了一些带方块的按钮,可以显示并添加,但 [面板和按钮部分](https://grapesjs.com/doc...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
Introducing Search on GJS.Market
GJS.Market now has one search across everything we publish — plugins, articles, community questions, guides, authors and services. Press ⌘K from any page.
教程
GJS.Market Is Now Available for India 🇮🇳
GJS.Market is expanding its global presence with a dedicated experience for developers, agencies, SaaS companies, and digital creators in India
教程
如何在2026年用 GrapesJS 构建AI驱动的页面构建器
我们构建GJSDocs的经验——从简单的AI文本生成到结构化、上下文感知的视觉编辑
浏览插件分类
直接跳转到市场上的插件分类页面。