我创建了一个自定义组件,并尝试在对话框中的multifiled中使用RTE(xtype="richtext"
)。
现在,当我尝试删除项目时,或者在对话框关闭后&重新打开另外一个对话框既不会关闭,也不会用OK按钮保存数据。
dialog.xml:
<myField
jcr:primaryType="cq:Widget"
name="./myField"
xtype="multifield">
<fieldConfig
jcr:primaryType="cq:Widget"
xtype="richtext">
</fieldConfig>
</myField>
Sham HC在AEM FAQ's发布了2个解决方案:
- 使用
textfield
代替richtext
或尝试不在richtext
中使用multifield
。- 醇>
如果
richtext
中需要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;}
问题是我想在不改变Adobe代码的情况下使用make。
答案 0 :(得分:8)
我找到了一种解决方法,不需要更改CQ小部件的代码。
您需要设置richtext
的{{1}}事件处理程序,以创建虚拟destroy
:
this.el.dom
答案 1 :(得分:1)
<fieldConfig
jcr:primaryType="cq:Widget"
height="{Long}100"
xtype="richtext">
<listeners
jcr:primaryType="nt:unstructured"
destroy="function() {this.el.dom={};}"/>
</fieldConfig>