像组合框一样使用dijit.Menu来选择一个值

时间:2014-08-30 17:12:40

标签: drop-down-menu dojo xpages

我从视图中获取列值列表,我将其输入到comboBox中以选择值并将其存储在字段中。从外观和感觉来看,我想把这个列表提供给dijit.Menu我没有做过dojo,也没能找到一个可以指向正确方向的例子。

1 个答案:

答案 0 :(得分:2)

您可以使用ExtLib中的下拉按钮,该按钮提供类似的外观:

    <xe:dropDownButton
        id="dropDownButton1">
        <xe:this.treeNodes>
            <xe:basicContainerNode>
                <xe:this.label><![CDATA[#{empty viewScope.myValue?"Select a value...":viewScope.myValue}]]></xe:this.label>
                <xe:this.children>
                    <xe:basicLeafNode
                        label="Label 1"
                        submitValue="value1">
                    </xe:basicLeafNode>
                    <xe:basicLeafNode
                        label="Label 2"
                        submitValue="value2">
                    </xe:basicLeafNode>
                </xe:this.children>
            </xe:basicContainerNode>
        </xe:this.treeNodes>
        <xp:eventHandler
            event="onItemClick"
            submit="true"
            refreshMode="partial"
            refreshId="dropDownButton1">
            <xe:this.action><![CDATA[#{javascript:var value=context.getSubmittedValue();
if(value!=null && value!="") viewScope.myValue=value;}]]></xe:this.action>
        </xp:eventHandler>
    </xe:dropDownButton>

这里,viewScope.myValue是秘密数据绑定。您必须单独处理数据验证(可能通过inputHidden组件)。您也可以使用repeatTreeNode代替beanLeafNode,因此您可以计算选项列表。