如何仅选中Extjs菜单中的一个菜单项

时间:2017-08-03 08:39:34

标签: javascript extjs

我在按钮上添加了一个菜单。

buttons.push({
        iconCls: 'fa fa-money',
        text: 'Currency format',
        menu: new Ext.menu.Menu(
        {
            items: [{
                iconCls: 'fa fa-euro',
                text: '1.000,00',
                checked: true,
                handler: function (btn) {
                    updateNumericFormat(btn);
                }
            },
            {
                iconCls: 'fa fa-dollar',
                text: '1,000.00',
                checked: false,
                handler: function (btn) {
                    updateNumericFormat(btn);
                }
            }],

        })
    });

我当时只想在菜单中选择一个项目。因此,如果选中第一个项目,我希望取消选中其他项目。但是我无法让它发挥作用。

updateNumericFormat: function (btn) {
    //uncheck the other button
}

2 个答案:

答案 0 :(得分:1)

sencha fiddle

updateNumericFormat: function (btn) {
      btn.up().down('[name=euro]').setChecked(!btn.checked , true);
}

完整代码,

Ext.create('Ext.menu.Menu', {
            width: 100,
            margin: '0 0 10 0',
            floating: false, // usually you want this set to True (default)
            renderTo: Ext.getBody(), // usually rendered by it's containing component
            items: [{
                iconCls: 'fa fa-euro',
                text: '1.000,00',
                checked: true,
                name : 'euro',
                handler: function (btn) {
                   btn.up().down('[name=dollar]').setChecked(!btn.checked , true);
                }
            },
            {
                iconCls: 'fa fa-dollar',
                text: '1,000.00',
                checked: false,
                name: 'dollar',
                handler: function (btn) {
                      btn.up().down('[name=euro]').setChecked(!btn.checked , true);
                }
            }]
        });

答案 1 :(得分:0)

您要搜索的是menucheckitem's group个配置,或者甚至是cycle按钮。