#33802021年4月2日作者 alemenciones2 个回答
亲爱的,你知道为什么样式管理器里没有选择默认属性吗? 我可以触发什么事件来更新这个?? 
artf
试着检查你的配置中的“styleManager”https://github.com/artf/grapesjs/blob/dev/src/style_manager/config/config.js(highlightChanged应该是“true”)
ClaudeCode
谢谢你举报,@alemenciones。 关于在styleManager中未选中的默认属性,这是个很好的问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console...
#33782021年4月1日作者 dluague2 个回答
版本: 0.16.45 你能重现演示中的bug吗?[ ] 是的[x] 不 预期的行为是什么? 不应该有空文本。 目前的行为是什么? 在将数据保存到数据库并检索(参见附带组件对象)后,空数据会出现。 这就是我分配来自数据库组件的方式 “''js this.editor = grapesjs.init({ 容器:“#gjs${this._uid}', 插件:[类型], fromElement: false, 高度:这个。高度, 宽度:“自动” storageManager: false, 资产管理人:{ 资产:this.assets, 上传文件:this.uploadFile }, noticeOnUnload: false, com...
artf
看起来是你这边的问题,因为我无法复现(也许你后台操作有误?!)。先尝试创建一个可复现的演示(通过使用localStorage)
ClaudeCode
谢谢你举报,@dluague。 保存后*无文本的问题似乎是竞态条件或状态管理时序问题。这通常发生在组件生命周期事件和DOM修改重叠时,导致状态不一致。 尝试什么: 添加setTimeout包装器以确保DOM已稳定: “JavaScript setTimeout(() => { 你在这里的行动 }, 0); 推荐的下一步步骤: 如果还没测试过,请用最新的GrapesJS版本测试 提供最小可重复的示例(CodeSandbox)——这有助于团队更快识别根本原因 在报告中包含 Gr...
#33762021年4月1日作者 rcloss4 个回答
我遇到的情况是,根据资产管理器的打开方式,我想传递一个略有不同的上传URL。 在asset:upload:start事件中,我让它查看应该使用哪个上传URL,如果需要更改,我会做 amConfig = editorAssetManager.getConfig() amConfig.upload = 'NEW URL' 但它并没有用新的 URL 上传,而是坚持用 init 上定义的那个。Grapesjs 加载完成后,有没有办法更新配置?我没看到任何集合或 setConfig
SzaboGabesz
编辑。AssetManager.config.upload = 'NEW_URL' 就能做到
Ju99ernaut
配置里的值只在初始化时使用,所以改它没用,也许改一下这些会有帮助: “''js 编辑。Assets.FileUploader().config.upload = 'NEWURL'; 编辑。Assets.AssetsView().config.upload = 'NEWURL' ```
rcloss
谢谢,我刚试过这两个方法,但至少在asset:upload:start事件里没用
#33752021年3月31日作者 christosapos2 个回答
大家好, 首先,我想表达对这个惊人工具的感激之情。我基于文本组件做了扩展按钮组件,这样可以手动编辑按钮内容,而不使用特质。 扩展按钮组件的代码如下: var comps = 编辑器。主导组件; var defaultType4 = comps.getType('text'); 编辑。DomComponents.addType('button', { 模型:{ 默认值:{ 标签名称:“button”, 类:['.pointer'],//悬停时添加点击指针, }, }, 扩展:“文本”, isComponent: 函数 (el) { 如果 (el.tagName === 'BUTTON') 返回 {type: 'button'}; }...
artf
看起来空格会触发 Chrome 中的“点击”事件。解决办法似乎是在“keypress”时添加 preventDefault https://stackoverflow.com/questions/22104860/chrome-firing-onclick-when-space-typed-in-contenteditable-button 附言:避免那样扩大视野。默认情况下,当你使用某种类型的“extend”时,它也在扩展视图(如果你需要扩展另一个组件的视图,可以用“ex...
ClaudeCode
谢谢你举报,@christosapos。 关于无法基于文本组件添加扩展按钮组件空格的好问题。。推荐的组件方法是使用事件驱动的API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something chang...
#33732021年3月31日作者 ikenderham2 个回答
我有个问题,希望有人能帮忙。 我想做一个特性,让我在选择某个 div 的 div 时可以选择预定义的颜色。有人能帮我,如何简单地实现这个目标吗?
artf
你可以用一个简单的选择特性类型和颜色列表,并在颜色更改后更新它的样式。 这里有所有与你案件相关的例子:https://grapesjs.com/docs/modules/Traits.html
ClaudeCode
谢谢你举报,@ikenderham。 关于问题:选择某个类或分元素时预定义的背景色,这是个很好的问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('some...
#33712021年3月29日作者 devtechk2 个回答
大家好,我正在通过 grapesjs 创建一个文档生成器,我想在每页底部插入类似“第1页共5页”这样的页码。我的起始模板有一个叫.page的封装类,实际上我可以把一个页面克隆到另一个页面下面,从而获得更多页面。 你知道我该如何实现这个功能吗? 谢谢!
devtechk
大家好!我找到了实现目标的方法!CSS 的属性! 这是我的工作代码(你可以随意调用分页标签)。 来源:https://www.pagedmedia.org/paged-js/ HTML: ' <页码类=“text-right 页码”>页 </pagination> ` CSS
ClaudeCode
谢谢你举报,@devtechk。 关于生成页码,有什么建议吗?虽然这个具体功能还没有出现在核心 API 中,但有几种方法可以实现类似的行为。 使用事件系统: “JavaScript editor.on('component:update', (component) => { 你的逻辑 }); ``` 替代方法: 听取“selector:add”以获取CSS选择器更改 使用“selector:custom”来表示自定义规则 利用“change:*”事件进行细致跟踪 构建一个插...
#33702021年3月29日作者 xinnai1 个回答
@artf 你好,我不确定你是否理解我的问题。 我想在我自己的 js 编辑器里编辑 js 代码,首先我用 'getJs(') 从你的编辑器里设置了 js 代码,但你demo.html里看起来是这样的:  这些代码都是压缩的。我想要像这样一个未压缩的代码,格式为[https://github.com/Ju99ernaut/grapesjs-script-editor](URL) ![1811563111]...
ClaudeCode
谢谢你举报,@xinnai。 关于压缩的getJ's问题,这是个很好的问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed...
#33692021年3月28日作者 jcsofts3 个回答
 例如: 我在编辑器外面加了左边栏和上边栏。我知道颜色选择器的位置是相对于身体的,所以是否可以在配置中添加关联偏移?那我可以加一个-40来让选色器调到正确的位置吗?
artf
你应该能通过这种方式定义颜色选择选项 “''js Grapesjs.init({ colorPicker: { ... } }); ``` 这里您可以查看所有[可用选项](https://github.com/artf/grapesjs/blob/86ce053309235c2a0a8bed9d9ded4326e82310df/src/utils/ColorPicker.js#L11)
skru
在 .init() 之后,可以访问 colorPicker 吗? 我想动态更新托盘
ClaudeCode
谢谢你举报,@jcsofts。 关于FEAT:是否可以为颜色选择器添加相对偏移,这是个很棒的问题。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('someth...
#33682021年3月27日作者 sizhousama2 个回答
我每次添加方块时都需要重新加载“https://.../main.js”,我该怎么办?
artf
订阅你认为可能有用的[事件](https://grapesjs.com/docs/api/editor.html#available-events),然后按意愿重新加载
ClaudeCode
谢谢你举报,@sizhousama。 关于[问题]我每次添加一个方块时都需要重新加载“https://.../main.js”,这是个很好的问题,我该怎么办?。GrapesJS 推荐的方法是使用事件驱动 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('cha...
#33672021年3月26日作者 kerryj894 个回答
有没有办法修改已编译状态的模板? https://github.com/artf/grapesjs/blob/d3256e621bb43a537213ffcd86b10dc0bd070c0b/src/modal_dialog/view/ModalView.js#L1-L16 如果没有,从我们的CMS中将标题和内容插入模态骨架中,最简洁的做法是什么? 我意识到这样做会失去葡萄的模态开闭事件。
artf
现在可以替换模态 https://grapesjs.com/docs/modules/Modal.html#custom-modal
Ju99ernaut
这里有一份使用内置模态的插件列表,希望对你有帮助: https://github.com/artf/grapesjs-tui-image-editor https://github.com/artf/grapesjs-custom-code https://github.com/Ju99ernaut/grapesjs-template-manager https://github.com/Ju99ernaut/grapesjs-script-editor https://g...
kerryj89
谢谢,但我一直在找一种方法把内容注入我自己的模态里。 很多库都有模态模板文件或变量来实现这一点。