Aem 如何根据从CQ5下拉列表中选择的值隐藏和取消隐藏可授权选项卡

Aem 如何根据从CQ5下拉列表中选择的值隐藏和取消隐藏可授权选项卡,aem,Aem,我正在尝试在CQ5中创建一个页脚组件,其中有4列&所有列都是可编写的。 但是我们也不能让任何一列都是可写的,也就是说,根据从下拉列表中选择的值,我们必须打开许多选项卡,以便只编写这些列 我创建了一个下拉列表,最大范围为6列。我知道我必须为此配置一个侦听器,但不知道如何配置。需求就像我从下拉列表中选择3一样,那么3个选项卡应该出现在3列中 请帮助我,我正在处理一件非常重要的事情。我也很早就需要解决方案,因为我必须尽快完成工作我现在可能会迟到,但万一你仍然需要它: 在关闭下拉元素之前,需要添加侦听器

我正在尝试在CQ5中创建一个页脚组件,其中有4列&所有列都是可编写的。 但是我们也不能让任何一列都是可写的,也就是说,根据从下拉列表中选择的值,我们必须打开许多选项卡,以便只编写这些列

我创建了一个下拉列表,最大范围为6列。我知道我必须为此配置一个侦听器,但不知道如何配置。需求就像我从下拉列表中选择3一样,那么3个选项卡应该出现在3列中


请帮助我,我正在处理一件非常重要的事情。我也很早就需要解决方案,因为我必须尽快完成工作

我现在可能会迟到,但万一你仍然需要它:

在关闭下拉元素之前,需要添加侦听器节点:

<listeners
    jcr:primaryType="nt:unstructured"
    loadcontent="function(box){ //here you also need to handle the hide/unhide when the panel loads for the first time. Use this.getValue() to retrive the intial value }"
    selectionchanged="function(box, value) { 
        for(var c=1;c<=value;c++){
            this.findParentByType('tabpanel').unhideTabStripItem("tab"+c); // You need to handle the opposite with hideTabStripItem("tab"+c);
        }
    }"/>

然后在“loadcontent”和“selectionchange”(这些是下拉列表中的事件)上,获取当前选定的值并使用它隐藏/取消隐藏选项卡。在这种情况下,选项卡将命名为“tab1”、“tab2”等,请确保名称正确

事件中的ExtJS为整个对话框查找“tabpanel”容器,然后根据名称隐藏/取消隐藏。您还可以使用“.enable()”和“.setDisabled(true)”方法设置为启用/禁用。如果要执行此操作,请确保首先获得对选项卡的引用(类似“.getComponent(tabName).enable()”)


我没有测试这个特定的代码,我无法从我的代码库中找到我的实际示例,但这应该会引导您走向正确的方向。

您的
对话框.xml
的代码看起来像什么&您会遇到什么错误?在这里询问之前,您可能已经参考了文档中的示例-