获取工具栏中叶节点的标签值

Get the label value for a leafNode in a toolBar

本文关键字:标签 叶节点 工具栏 获取      更新时间:2023-09-26

>我创建了一个包含许多basicLeafNodes的工具栏。在样式属性中的某些JS中,我想获取basicLeafNode的标签值。我试过这个标签,但那抛出和错误。如果我能获得标签值,那么我可以编写一个非常通用的代码块,该代码块对于工具栏中的每个叶子都是相同的。这将更容易维护和扩展。这离表演塞子还有很长的路要走,但它会很整洁,

你不能

这样做,因为this表示工具栏对象,而不是叶节点(它都是一个巨大的对象)。

但是,您可以使用repeatTreeNode和一些Javascript魔法(或者最好是托管Bean),可以计算所有值,并且将来可以更轻松地进行管理。

    <xe:toolbar id="toolbar1">
        <xe:this.treeNodes>
            <xe:repeatTreeNode var="item">
                <xe:this.value><![CDATA[#{javascript: 
  [{
    "label": "Open",
    "href": "http://www.openntf.org"
  },
  {
    "label": "Search",
    "href": "http://www.google.com"
  }]
}]]></xe:this.value>
                <xe:this.children>
                    <xe:basicLeafNode href="#{item.href}" label="#{item.label}">
                        <xe:this.style><![CDATA[#{javascript:"color:"+(item.label=="Open"?"blue":"red")}]]></xe:this.style>
                    </xe:basicLeafNode>
                </xe:this.children>
            </xe:repeatTreeNode>
        </xe:this.treeNodes>
    </xe:toolbar>

我希望这有帮助...