如何动态地从组件脚本更新属性/属性?
在这种情况下,你不需要用 JS 组件(在你的最终代码中你不执行任何 JS),对你来说,这样就足够了: “''js domc.addType('charts-component', { 浏览量:{ 事件:{ dblclick:“onActive”,// 以便双击重新打开模态 }, onActive() { const { model } = this;模型是分量 const modal = 高。ModalEditor(({ export }) => { 静态内容使用“content”,编辑器会渲染时不会将HTML/SVG转换成组件 model.set({ 内容: export.svg(), js: export.js() }); }...
阅读下方完整回答 ↓问题
我们有一个用例,想用 [Highcharts Editor](https://github.com/highcharts/highcharts-editor) 动态插入图表。我创建了一个组件,拖拽后会打开基于模态的组件,根据用户选择返回一个SVG图像。 我想知道如何把它加到模型的身体里。目前我用 innerHTML 插入,但 getHTML 的 div 里没有 SVG 图片。 组件代码: “'' js domc.addType('charts-component', { 型号:{ 默认值:{ 标签名称:“div”, 脚本, js: '', SVG: '', 属性:{ 类别:“高图”, }, '剧本道具': ['js', 'SVG'], }, init() { this.on('change:js', this.handleJSChange); this.on('change:svg', this.handleSVGChange); this.on('change:attributes', this.handleAttrChange); }, handleJSChange() { console.log(“JS变革”); this.addAttributes({ js: this.props().js }); }, handleSVGChange() {}, handleAttrC...
回答(4)
在这种情况下,你不需要用 JS 组件(在你的最终代码中你不执行任何 JS),对你来说,这样就足够了: “''js domc.addType('charts-component', { 浏览量:{ 事件:{ dblclick:“onActive”,// 以便双击重新打开模态 }, onActive() { const { model } = this;模型是分量 const modal = 高。ModalEditor(({ export }) => { 静态内容使用“content”,编辑器会渲染时不会将HTML/SVG转换成组件 model.set({ 内容: export.svg(), j...
抱歉发了垃圾信息。我无法从工作笔记本上传使用场景视频。
https://user-images.githubusercontent.com/2502711/106098322-d39c7b80-615e-11eb-8569-cf76ffc7fcc7.mov
@artf 任何帮助都将不胜感激。我又看了一遍文件,也没发现什么特别的地方,可能我漏掉了。
谢谢你举报,@harsh201。 关于如何从组件脚本动态更新属性/属性的好问题。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => console.log('comp...
相关问答
通过相似的问题讨论继续研究。
问题 #4601
在切换某些目标时,添加到样式管理器的自定义类型 update() 不再被触发。
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 铬104 可复制演示链接 https://jsfiddle.net/aw8p0h9j/ 描述一下那个虫子 如何复现这个漏洞?打开 jsfiddle 链接。点击两个div之间,然后在任一div和背景...
问题 #4083
Set root 不起作用
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? Safari 15.0可复制演示链接 https://jsfiddle.net/adw6y12f/9/描述一下那个虫子 你好, 我正在尝试按照[这里](https://github.com/artf/...
问题 #5339
DragMode:“absolute” 表现怪异
葡萄JS版本[X] 我确认使用最新版本的GrapesJS你用的是什么浏览器? 版本 1.56.20 Chromium:115.0.5790.171(Offizieller 构建)(arm64)可复制演示链接 没有描述一下那个虫子 我希望编辑器中的组件可以通过拖动来移动。经过一些...
问题 #4537
RangeError 最大呼叫堆栈大小超过。
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 勇敢 1.33.105 铬:96.0.4664.93 可复制演示链接 https://codesandbox.io/s/relaxed-mccarthy-v2e37w 描述一下那个虫子 如何复现这...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
教程
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.
浏览插件分类
直接跳转到市场上的插件分类页面。