在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。
问题
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一div和背景之间点击。 预期的行为是什么? 在较早的 grapesjs 版本(0.17.26)中,更新会被触发,控制台记录点击,执行 update() 代码。 目前的行为是什么? 在 grapesjs 0.20.1 版本中,切换不同目标时更新不会触发,至少在 1 个目标之间是这样。组件无房产价值,2.组件价值相同,...... JS: “''js const editor = Grapesjs.init({ 容器:“#gjs”, fromElement: 1, 身高:“100%”, styleManager: {}, storageManager: { type: 0 }, 插件: ['gjs-blocks-basic', ] }); const sm = 编辑。风格经理; sm.addType('newinput', { 创建用户界面 create({ props, change }) { const el = document.createElement('div'); el.innerHTML = '<input...
回答(4)
和这里描述的一样,没问题:https://github.com/artf/grapesjs/issues/4350
是的,但即使是自定义UI,如果值没变,更新也会被跳过,因为没必要。
我粘贴的代码是用标准API,基本上是从文档里复制粘贴的。显然,更新的机制在不同版本之间已经发生了变化。
之前如果目标元素被更改,更新会被触发,我们可以运行代码在特定条件下重新渲染组件。@artf你现在会提出什么最佳替代策略?我应该添加自定义监听器来针对变更事件吗?你有什么建议的实现方式,才能确保更好地跟进Grapesjs的核心变更?
简而言之,当目标被更改时,我需要能够调用可调用的对象,同时获取并设置自定义类型输入的值。
感谢你报告,@bit-ocean。 关于添加自定义类型的 update() 在切换某些目标时不再触发,这个问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:...
相关问答
通过相似的问题讨论继续研究。
问题 #4572
页面更新事件没有触发
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 镀铬 可复制演示链接 https://jsfiddle.net/1hza4t9n/ 描述一下那个虫子 如何复现这个漏洞?初葡萄创建事件处理程序,用于页面更新时使用。更新页面观察事件处理程序未触发...
问题 #4191
我们正在尝试在 Angular 10 应用中存储 grapesJS 编辑器中的数据,但出现了 CORS 错误,附上了下面的图片
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome 99.0.4844.5 可复制演示链接 https://jsfiddle.net/ct5r4kvg/ 描述一下那个虫子 如何复现这个漏洞?集成到 Angular 10 应用中,包含以...
问题 #6409
手机上无法拖动移动组件
葡萄JS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v133 可复制演示链接 https://jsfiddle.net/2hjdrb7L/1/ 描述一下那个虫子 如何复现这个漏洞? 用grapesjs v0.22.x和grapesjs...
问题 #3454
RTE 插入链接不会更新 DOM
版本: "0.17.3" 你能重现演示中的bug吗?[X] 是的[ ] 不 预期的行为是什么? 使用默认RTE插入链接后,链接立即可在设置中进一步编辑,即设置HREF和目标 详细描述那个漏洞 在选择默认RTE的文本并将其转换为链接后,文本会被正确地包裹在<a>标签中,但直到取消...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
GrapesJS DevTools: A Developer Panel Inside Your Editor
If you've ever debugged GrapesJS with console.log(editor.getSelected()) and a dozen throwaway event listeners — this post is for you.
教程
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
教程
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
浏览插件分类
直接跳转到市场上的插件分类页面。