我需要在对话框加载时打开多字段的第一项。我查看了多字段的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>

请提出建议。

最佳答案

加载内容后,您可以收听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>

10-06 09:16