#18382019年2月27日作者 NicoEngler2 个回答
你好,葡萄干得真棒! 我已经看过文档(尤其是 CssComposer)和相关问题,但我还是卡住了。 一个自定义插件允许我使用 component.setStyle() 给组件添加 css。重新加载时,我需要插件用这些值初始化。 例如,我想读取一个组件的margin属性。我观察到使用 setStyle() 时,css 会被内联添加,数据存储并加载后,css 会被定义为类。 目前,我正在手动解析属性值,假设最后一个条目代表“活跃”条目。但这种做法完全不对!:) 我觉得用 CssComposer 可以实现不同的效果,但我还是卡住了。 谢谢你,尼科
artf
我观察到,使用 setStyle() 时,CSS 会被内联添加,数据存储并加载后,css 会被定义为类。 首先,确保正确存储你的模板:[存储并加载模板](https://grapesjs.com/docs/modules/Storage.html#store-and-load-templates),在这种情况下,当你通过“component.setStyle(...)设置样式时,' 在下一页重新加载时,你应该可以通过 'component.getStyle(...) 获得那...
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#18372019年2月26日作者 SeongwoonHong3 个回答
我想更改三叉车的标签,这些标签将是法语。  你能给出一段示例代码吗? 谢谢你,阿图尔
SeongwoonHong
@NicoEngler 你好,谢谢你的回复! 但我正在尝试修改现有的内置特性。我不是想创造自定义特质......
NicoEngler
据我观察,你无法为内置特质定义标签。此外,如果标签未定义,则使用名称(大写(0))。所以我觉得你最好的办法是结合合适的标签来定义你的特质。或者更好的是,写个PR文件。👍 我可能错了,也许阿图尔可以进一步阐述。
#18362019年2月26日作者 AkibDeraiya1233 个回答
你好,@artf, 虽然我打算用 CSS 从 Editor 编辑一些 HTML,但我需要在所有 CSS 里添加“!important”,这会被更改。 让我举个例子, 这是之前的CSS 现在我要用“#000”来更改这个字体的颜色。 只有这个更改后的 CSS 需要附加 '!important',所以,新的 CSS 会是 get,而我要用 'editor.getCss()' 来取,就像, 我能实现这个目标吗?
NicoEngler
我可能找到了解决你问题的方法。请检查一下 https://github.com/artf/grapesjs/issues/1041#issuecomment-382545102
NicoEngler
我觉得你不需要添加!important,因为你的元素类.banner-title会添加一个唯一类别,包含已更改的属性。 所以如果你更改颜色,会添加一个带有 color: #your-color 的新类,因此 .banner-title 中定义的颜色会被覆盖。
AkibDeraiya123
@NicoEngler, 感谢你宝贵的回复。 但问题是我加载了一个默认模板页面,却用默认的CSS。 在这个CSS中,我们有类似的CSS 现在当我用编辑器把颜色改成“#000”时,新的CSS会像这样创建, 但问题是默认CSS已经有“!important”了,所以它会用默认模板的CSS,而不是新模板。 所以,这就是为什么我会在编辑器新生成的CSS中添加“!important”。 如果你没明白我的意思,请告诉我,我可以通过更多的描述理解。
#18352019年2月26日作者 SeongwoonHong3 个回答
 我想让“设置”默认随时打开,不用用户手动打开。 你是怎么做到的? 谢谢你......
NicoEngler
你可以将房产开放转入你的行业定义。
artf
@SeongwoonHong 那个设置面板是自定义元素 https://github.com/artf/grapesjs/blob/6cb1199048a753a77466efd4ae8ff3752d413623/demo.html#L1409-L1430 我只是把特质附加在那里,但开关(开/关)其实是自定义的
SeongwoonHong
@NicoEngler 你好,谢谢,但是 我不是说扇区(尺寸、印刷字等)。我说的是“设置”...... 换句话说,如果我做了“编辑”。StyleManager.getSector('Settings')' 是空的..
#18342019年2月26日作者 diktar2 个回答
当编辑器初始化时,已为包装器定义自定义样式道具,背景图像不会设置为包装。如果编辑器初始化为默认的包装配置,则正确设置。 繁殖步骤:开放 https://jsfiddle.net/gu289h0q/在编辑器中选择根元素在样式管理器中打开“装饰”扇区,尝试添加背景图片
artf
@diktar你必须把所有背景属性都传给 styleable “''js “背景”, “背景色”, “背景图像”, “背景重复”, “背景依恋”, “背景位置”, “背景大小” ``` 这可能不是最简洁的自定义方式,但目前我不会花时间在这上面
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#18332019年2月26日作者 sakshigarg93 个回答
我用的是 grapesjs-preset-webpage,怎么在 Resizer 下设置属性的初始状态?
NicoEngler
我想帮忙,但一直没能理解这个问题。你能更具体地说说你想实现什么吗?
sakshigarg9
我想限制图像的大小调整到特定尺寸,同时也想设定一个最小尺寸。除此之外,我想只启用图片中右下角的 br 点来调整大小。 这就是我的图像组件的样子。
artf
https://github.com/artf/grapesjs/issues/1809#issuecomment-469027859 @sakshigarg9请避免打开你自己问题的重复版......
#18322019年2月26日作者 sakshigarg92 个回答
这是我的代码,我希望标志图片可以调整大小。另外,我希望在另一端加一个div元素,这样用户可以把logo拖拽到那个容器里。为了实现这种布局,我使用了flex显示,中间空间是justify-content。但用Flex时背景不会自动调整大小。如果我移除flex样式,那它还能用,但我的div在最右上角的内联位置就不可见了,就像我想要的那样。
NicoEngler
这很可能不是Grapejs的问题,而是CSS的问题。你能安排一个演示吗?
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#18312019年2月25日作者 SeongwoonHong3 个回答
我也想做类似的事。 所以一旦用户把测试组件放进画布,我想打开资产管理模式,通过运行“open-assets”命令上传图片。 非常感谢你,阿图尔
NicoEngler
为此,你可以监听编辑器的拖拽事件:
SeongwoonHong
@NicoEngler 谢谢你的回复! 不过,我不确定如何将图像模态中的图像插入链接块组件中 如果我这样做,即使我从模态中选中图片,也没有任何反应 @artf 有办法做到吗? 而且,modal一开始是空的,直到我用Image组件打开资产管理。 我也不知道为什么......
NicoEngler
恐怕我得自己动手操作代码,否则无法提供更多帮助。不过如果你用Codepen或类似软件写示例,我可以帮忙调试。
#18302019年2月25日作者 skateborden2 个回答
当使用 StyleManager 属性且“property”未定义且默认为 '' 时,我在 component选择 PropertyView.js targetUpdated -> getComputedValue-> camelCase 处看到一个错误:“TypeError: values[0] is undefined”。 我在本地项目中遇到了v0.14.52。 JSFIDDLE:https://jsfiddle.net/okc9abez/7/ 在我这里,这是堆栈的一个子属性,在这里定义属性是没有意义的。
artf
在我的情况下,这是栈的一个子属性,定义属性是没有意义的。 是的,这说得通,但遗憾的是,“property”对样式管理器来说几乎是强制的,可能目前我会先在初始化时检查模型,如果“property”是空的(比如通过“name”或“id”)来更新。
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。
#18292019年2月25日作者 skateborden1 个回答
如果为 DeviceManager 指定的所有设备都设置了宽度,则会出现编辑器故障错误:“TypeError: contRules is null”。我在本地项目中遇到了v0.14.52。 JSFIDDLE:https://jsfiddle.net/5ycmoftj/1/ 我认为发生的情况是 render() CssRulesView.js 根据设备管理器中设备宽度,创建了 div 片段作为不同媒体目标的容器。如果你的设备没有设置未定义的宽度,那么没有指定媒体宽度的CSS规则就没有地方去。它不会为他们创造一个容器。
lock[bot]
由于关闭后没有近期活动,该帖子已被自动锁定。请为相关漏洞开启新一期。