方块渲染函数,不是触发器
如果你这样做,块管理器不会看到“block.attributes.render = ...”的更改。 你必须以以下方式明确更新该属性: “''js block.set({ 渲染:() => { 返回“<div>NEW HTML</div>” } }) ``` 而且要小心,渲染函数应该返回HTML字符串或DOM节点,而不是Promise。如果你需要做异步操作,先解决它,然后再用返回的内容更新渲染。
阅读下方完整回答 ↓问题
@artf - 文档里说,如果需要自定义每个块预览的方面,可以在块里传递渲染回调函数。
但实际上,我把这个渲染回调包裹在一个叫 func() 的函数里,然后调用某个 ajax 请求
如果我在页面加载时调用它,它能正常工作,但如果我在页面加载后调用这个 func() 函数,针对某个点击事件/处理程序或 API 响应,这个函数内部的 render 回调不会被触发
回答(2)
如果你这样做,块管理器不会看到“block.attributes.render = ...”的更改。 你必须以以下方式明确更新该属性: “''js block.set({ 渲染:() => { 返回“<div>NEW HTML</div>” } })
**而且要小心**,渲染函数应该返回HTML字符串或DOM节点,而不是Promise。如果你需要做异步操作,先解决它,然后再用返回的内容更新渲染。
谢谢你举报,@mohd7469。
感谢你分享关于块渲染功能不触发的报告。为了帮助团队调查并优先排序:
请提供:
- 一个最小可复现的例子(CodeSandbox/JSFiddle)
- 你的GrapesJS版本号
- 浏览器和操作系统信息
- 浏览器控制台的任何错误信息
- 重现问题的步骤
最有帮助的是什么:
- 简约代码示例(不是你整个项目)
- 屏幕录制或截图显示问题
- 明确区分预期行为与实际行为
- 你正在使用的GrapesJS配置
有了这些细节,维护者可以更快地识别和优先排序修复。GrapesJS团队对有充分记录的问题反应迅速。
相关问答
通过相似的问题讨论继续研究。
问题 #3432
我们能在 GrapesJS 编辑器中使用 [Wistia](https://wistia.com/) 吗?我想像Vimeo在编辑器中使用的那样使用它。
你好,@artf, 我们能在 GrapesJS 编辑器中使用 [Wistia](https://wistia.com/) 吗?我想像Vimeo在编辑器中使用的那样使用它。 ,这是错了还是我做错了?我本以为资源不会显示出来,但它们全都可见 
Run GrapesJS inside an Electron desktop app: mount it in the renderer, save projects to disk through IPC, and export HTML/CSS.
教程
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.
浏览插件分类
直接跳转到市场上的插件分类页面。