我需要在对话框加载时打开多字段的第一项。我查看了多字段的API文档但无法找到。
<promo
jcr:primaryType="cq:Widget"
fieldLabel="abcd"
hideLabel="false"
itemId="abcd"
name="./abcd"
xtype="[multifield]">
<fieldConfig
jcr:primaryType="cq:Widget"
hideLabel="false"
layout="form"
name="./abcd"
title="abcd Item Info"
xtype="customPanel">
<items jcr:primaryType="cq:WidgetCollection">
</items>
</fieldConfig>
</promo>
请建议。
答案 0 :(得分:3)
您可以在加载内容后收听Multifield触发的loadcontent
事件。如果最初没有可用内容,请使用addItem()
方法添加项目,然后重做布局。
使用多路径字段的示例配置如下所示。您可以根据自己的要求进行调整。
<promo
jcr:primaryType="cq:Widget"
fieldLabel="Select Paths"
name="./paths"
xtype="multifield">
<fieldConfig
jcr:primaryType="nt:unstructured"
xtype="pathfield" />
<listeners
jcr:primaryType="nt:unstructured"
loadcontent="function(field, record)
{
if(record.get('paths') == undefined)
{
field.addItem(); field.doLayout();
}
}" />
</promo>
答案 1 :(得分:2)
改进上面提供的解决方案,尝试用
替换loadcontent行loadcontent="function(field, record) {if(field.getValue().length == 0) {field.addItem();} }"