#33772021年4月1日作者 assadnazar3 个回答
版本:0.16.45 如果我添加 grapejs-preset-js,stylemanager 会重复每个选项两次。 这里有个 jsfiddle 链接,你可以检查相同的行为。 [https://jsfiddle.net/assadnazar/2asojqrc/1/](https://jsfiddle.net/assadnazar/2asojqrc/1/) 也许是选项没有合并
Ju99ernaut
用途: “''js window.editor = grapesjs.init({ // ... styleManager: { clearProperties:1 }, // ... }); ```
ClaudeCode
谢谢你举报,@assadnazar。 感谢你分享关于StyleManager选项重复两次的报告。为了帮助团队调查并优先排序: 请提供: 一个最小可复现的例子(CodeSandbox/JSFiddle) 你的GrapesJS版本号 浏览器和操作系统信息 浏览器控制台的任何错误信息 重现问题的步骤 最有帮助的是什么: 简约代码示例(不是你整个项目) 屏幕录制或截图显示问题 明确区分预期行为与实际行为 你正在使用的GrapesJS配置 有了这些细节,维护者可以更快地识别和优先排序...
#33622021年3月23日作者 qweiop8013 个回答
葡萄 - 0.16.105 当我点击一个元素(表单——该元素已禁用克隆)时,下一个元素(列)会被点击。第一元素克隆到第二元素,失去了所有风格。你能帮我吗? https://user-images.githubusercontent.com/44744754/112153667-cb534080-8be3-11eb-90ef-dbccc866fde2.mp4
artf
你好,首先你需要更新你的 Grapesjs 版本,它太旧了,没有可复现的问题演示我帮不了你
qweiop801
我把 Grapesjs 更新到 0.16.45,问题依旧存在
ClaudeCode
谢谢你举报,@qweiop801。 关于双击问题的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed'))...
#33592021年3月23日作者 qweiop8012 个回答
当我点击一个元素时,第二个元素,第一个元素会克隆到第二个元素,导致所有样式丢失。你能帮我吗? 
artf
你好@qweiop801请按照问题模板操作,按照所有步骤操作
ClaudeCode
谢谢你举报,@qweiop801。 双击复制错误的问题似乎是竞赛条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 G...
#33542021年3月22日作者 ThetripGr2 个回答
版本: 0.16.44 预期的行为是什么? 我预计在同一页里能有两个不同的葡萄实例,并且能够正确使用资产管理 详细描述那个漏洞* 我在一个页面上初始化了两个 Grape 实例,配置如下 “JavaScript AR editor = Grapesjs.init({ fromElement: 1, container:“#{{varName}}”, 插件:[...], styleManager:错误, noticeOnUnload: false, storageManager: false, 面板:{...}, 资产管理人:{ 上传: '/api/handleEditorUpload', 上传名称:“files”, }, ``` 实...
ThetripGr
好吧,经过一番调查,真正的问题是我发起编辑的方式,所以是我的错。我没有确保实例真正分开,结果覆盖了第一个实例,尽管它看起来正常且没有错误。我关闭这个问题,因为它不是真正的bug报告。
ClaudeCode
谢谢你举报,@ThetripGr。 有两个葡萄实例存在,使得资产管理者在第一个“停止”时工作,似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助...
#33532021年3月19日作者 jcsofts2 个回答
感谢你的工作,这是个不错的项目,可能不是个bug。 我尝试让样式管理器中的色彩选择器滚动,输入框也一样。 例如: (颜色,背景)输入框打开选色器滚动样式管理器 输入框移动了,但颜色选择器仍停留在原来的位置 我在 Grapesjs 演示网站上试过这个 <img width=“506” alt=“WeChat944c23a71851577e18470c0dec31441e” src=“https://user-images.githubusercontent.com/33087222/111763958-a73ee900-88dd-11eb-9751-b6012039d577.png”> <img width=“510” alt=“W...
artf
颜色选择器绝对地放置。除非你能找到方法在样式管理器的滚动页面上更新,否则我看不到其他办法。
ClaudeCode
谢谢你举报,@jcsofts。 关于颜色选择器从输入框滚动的问题非常好。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something cha...
#33472021年3月18日作者 xinnai4 个回答
你好,感谢你帮我解答这个问题。我想用自己的JSEditor来编辑html、css和js。 1、首先,我用 'getHtml', 'getCss', 'getJs' 在我的 JSEditor 里显示代码。我发现JS代码是压缩的。我怎样才能获得无压缩代码? 我用的是'编辑器'。CodeManager.getCode(model, 'js')',而且它也是压缩版的。我看了源代码,也不太明白为什么 CodeManager 能显示无压缩代码。 2、还有一点是:当我设置JS代码,比如“document.getElementById(”wrapper“).style.background = ”red“'时,并做以下操作: 'const htm...
artf
组件用JS的“脚本”依赖于你源代码中的同样代码。比如,如果你创建了一个插件,然后用webpack/babel构建它,组件就会打印构建结果。我想你可以为你的“脚本”组件单独创建 js 文件,然后让捆绑器忽略那些文件。
xinnai
@artf 你好,我不确定你是否理解我的问题。 我想在我自己的 js 编辑器里编辑 js 代码,首先我用 'getJs(') 从你的编辑器里设置了 js 代码,但你demo.html里看起来是这样的:  这些代码都是压缩的。我想要像这样一个未压缩...
artf
“autoBeautify” 是传递给 CodeMirror 的一个选项,但无论如何,它可能会美化代码,但不会解压,因为代码本身就是这样存储在组件里的
#33462021年3月18日作者 xinnai4 个回答
我想用像 Element-UI 这样的 UI 框架自己构建样式管理器,快速做出一个美观的界面。但我该如何将属性绑定到选定的组件上?我没看到像“setProperties to an element...”这样的API。你能帮我讲讲怎么做吗,非常感谢!!
RutujaBadbe
#2296 这可能对你有帮助!
artf
我想如果你需要从零开始创建样式管理器,这种方法应该可行 “''js 让targetsToStyle = []; const eventToListen = 'component:toggled component:update:classes change:state change:device'; const sm = 编辑。风格经理; editor.on(eventToListen, () => { targetsToStyle = editor.getSelected...
xinnai
@artf 这正是我需要的!非常感谢!
#33452021年3月17日作者 joshk1324 个回答
我正在努力让葡萄Vue.js工作,但没有进展,我一直在跟着起步,但没能让它正常工作。到目前为止,我已经把它加到了“mounted()”部分,也拿到了带方块的按钮可以显示和添加,但[面板和按钮部分](https://grapesjs.com/docs/getting-started.html#panels-buttons)一直没成功。 问题总结:使用Vue.js我无法让面板和按钮部分从开始时显示出来。 下面我附上了我目前主要想添加的App.vue文件——概念验证会稍后移到合适的位置。
uchoaaa
看看这个问题,可能会有帮助:https://github.com/artf/grapesjs/issues/275
artf
你好@joshk132说代码看起来不错,你能做一个可复现的演示吗(比如Codesandbox之类的软件)?
joshk132
@artf我已经让面板显示的位置正常工作了,但现在显示不正常了。我不得不做的解决方案是改用下面的代码。基本上我必须把“editor”作为变量,但我在最初的代码里已经去掉了,因为 vue linter 会抱怨。附上了一张图片链接,展示了下面代码的效果,我不太确定具体是什么原因导致了样式问题。 https://imgur.com/GuFqv0o
#33352021年3月11日作者 zachsnoek3 个回答
我有一个组件使用了“background-url”样式管理器属性: 我想重用样式管理器中显示的这个UI,作为“设置”下显示的背景URL特性:  有没有可能让样式管理器的属性像特质一样表现,并显示在“设置”部分,还是我需要用这个界面创建一个新的特质? 谢谢。
artf
遗憾的是,目前还无法实现,但计划很快添加一个新的UI模块,应该可以重复使用UI元素
ClaudeCode
谢谢你举报,@zachsnoek。 关于用样式管理器属性UI创建特质的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something...
#33312021年3月10日作者 Abhisheknanda13444634 个回答
你好@artf 我按照文档制作了一种新型资产管理公司 这里(https://codepen.io/abhi_punk81/pen/MWbWzaq) 我创建了类似文档里那种的新类型 我如何在放置自定义图标块后打开那个资产管理器 -: 一开始它没问题,但当我放下图片块后,默认情况下就会出现一个 请你指点一下我,我正在尝试为 Icons One 创建一个新的插件 根据之前提到的问题,我用add command(添加命令)来调用图标组件的comnd,卡住了:双击时怎么更新目标-: “''js const cm = 编辑。指挥; cm.add('svg-icon', { run(editor, sender, opts) { const a...
Abhisheknanda1344463
@artf 实现了,并且还能处理大小写不区分 https://user-images.githubusercontent.com/20657737/112457190-82d18980-8d81-11eb-895b-b5c42e849f3a.mov 谢谢!!❤️
Abhisheknanda1344463
嗨@artf不知怎么的我做到了 在组件激活时,我把这个标记为 -: “''js 事件:{ dblclick:“onActive” }, onActive () { 编辑。AssetManager.render(editor.AssetManager.getAll().filter(asset => asset.get('type') == 'svg-icon')); editor.runCommand(“open-assets”, { 目标:This.model, });...
artf
应该和你之前做的类似 “编辑。AssetManager.render(editor.AssetManager.getAll().filter(asset => asset.get('type') == 'svg-icon'));' 所以通过搜索找到资源,然后用渲染更新