Получите значение этикетки для листового элемента на панели инструментов

StackOverflow https://stackoverflow.com//questions/20007290

Вопрос

Я создал панель инструментов с несколькими основными льдами.В некоторых js в стиле имущество я хотел бы получить значение этикетки для ParestleFnode.Я попробовал этот. Label, но это бросает и ошибка.Если бы я мог получить значение этикетки, то я мог бы написать очень обобщенный блок код, который был бы одинаковым для каждого листа на панели инструментов.Что было бы легче поддерживать и распространять. Это долгий путь от пробки шоу, но это будет аккуратно,

Это было полезно?

Решение

Вы не можете сделать это, потому что this представляет объект панели инструментов, а не узел листьев (это все один гигантский объект).

Однако вы можете использовать repeatTreeNode и некоторую магию JavaScript (или предпочтительно управляемого компонента), все значения могут быть рассчитаны, и управление может быть проще для будущего.

    <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>
.

Я надеюсь, что это поможет ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top