如何在加载对话框时打开多字段的第一项?

jucafojl  于 2022-09-26  发布在  其他
关注(0)|答案(2)|浏览(101)

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

请提出建议。

gzjq41n4

gzjq41n41#

您可以在加载内容后侦听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>
t2a7ltrp

t2a7ltrp2#

改进以上提供的解决方案,尝试将装载量行替换为,

loadcontent="function(field, record) {if(field.getValue().length == 0) {field.addItem();} }"

相关问题