我创建了一个自定义组件,并尝试使用 RTE (xtype="richtext"
)在我的对话框中的多文件中。
现在,当我尝试删除项目时,或者在关闭并重新打开对话框后添加另一个项目时,该对话框既不会关闭,也不会使用“确定”按钮保存数据。
对话框.xml:
<myField
jcr:primaryType="cq:Widget"
name="./myField"
xtype="multifield">
<fieldConfig
jcr:primaryType="cq:Widget"
xtype="richtext">
</fieldConfig>
</myField>
Sham HC 发布了 2 个解决方案AEM 常见问题解答 http://aemfaq.blogspot.in/2013/04/richtext-in-multifield-widget.html:
- Use
textfield
代替richtext
或者尝试不使用richtext
in a multifield
.
-
If richtext
in a multifield
是必需的,然后按照以下步骤并在您的开发环境中进行验证。
覆盖/libs/cq/ui/widgets/source/widgets/form/RichText.js
在方法syncValue(第910行)的覆盖文件中,将[1]替换为[2]。
[1] this.el.dom.value = html;
[2] if(this.el.dom){this.el.dom.value = html;}
问题是我想使用 make 它而不改变 Adobe 的代码。
我找到了一种解决方法,不需要更改 CQ 小部件的代码。
你需要设置richtext
's destroy
事件处理程序,创建虚拟对象this.el.dom
:
<myField
jcr:primaryType="cq:Widget"
name="./myField"
xtype="multifield">
<fieldConfig
jcr:primaryType="cq:Widget"
xtype="richtext">
<listeners
jcr:primaryType="nt:unstructured"
destroy="function() {this.el.dom={};}"/>
</fieldConfig>
</myField>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)