0

我正在尝试在 CQ5 中创建一个页脚组件,其中我有 4 列并且所有列都是可访问的。但是我们也必须禁止任何列可授权,即基于从下拉列表中选择的值,我们必须打开这些选项卡以仅创作这些列。

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

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

4

1 回答 1

1

我现在可能迟到了,但如果你仍然需要它:

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

<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()”)。

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

于 2013-08-17T21:07:46.040 回答