带按钮的Extjs组

带按钮的Extjs组,extjs,Extjs,为了制作工具箱,我想知道如何在最新的extJS 像jQueryUI这样: 提前感谢,, Chielus我认为您应该考虑使用一套标准的ExtJS按钮。可以将按钮指定给组,使其充当链接中显示的元素 请参见此示例: { xtype: 'button', text: 'Choice 1', toggleGroup: 'mygroup' }, { xtype: 'button', text: 'Choice 2', toggleGroup: 'mygroup

为了制作工具箱,我想知道如何在最新的
extJS

像jQueryUI这样:

提前感谢,,
Chielus

我认为您应该考虑使用一套标准的ExtJS按钮。可以将按钮指定给组,使其充当链接中显示的元素

请参见此示例:

{
    xtype: 'button',
    text: 'Choice 1',
    toggleGroup: 'mygroup'
}, {
    xtype: 'button',
    text: 'Choice 2',
    toggleGroup: 'mygroup'
}, {
    xtype: 'button',
    text: 'Choice 3',
    toggleGroup: 'mygroup'
}
按钮还有一个名为
enableTokle
的属性,允许它们进行切换,当您设置
toggleGroup
时,该属性会自动设置为true,
toggleGroup
告诉ExtJS它们之间的关系


请注意,它们看起来像常规的ExtJS按钮,但其行为与您想要的一样。

只需回答@mastak的评论(在上面的回答中),为了禁止取消选择按钮的操作,请将此侦听器添加到每个按钮:

listeners: {
   click: function(me, event) {
      // make sure a button cannot be de-selected
      me.toggle(true);
   }
}
这样,每次单击按钮都会重新选择它


-DBG

有一种不太复杂(更好?)的方法来禁止取消选择按钮。将allowDepressconfig选项设置为false:

{
    xtype: 'radiogroup',
    layout: 'hbox',
    defaultType: 'button',
    defaults: {
        enableToggle: true,
        toggleGroup: 'mygroup',
        allowDepress: false,
        items: [
            { text: 'Choice 1'},
            { text: 'Choice 2'},
            { text: 'Choice 3'}
        ]
    }
}

只是添加到@deebugger帖子。您还可以使用以下按钮属性不允许取消选择

Ext.create('Ext.Button', {
    renderTo     : Ext.getBody(),
    text         : 'Click Me',
    enableToggle : true,
    allowDepress : false
});

谢谢,这个有用。现在如何获取所选值?除了使用按钮的eventHandler和全局变量外,如果您知道按钮所在的容器,还可以查看按钮并查看按下的是哪一个。如果您知道其中一个按钮,您可以找到父项并像以前一样操作。我不知道一个
按钮组
是否会给你带来任何好处。@Chau它就像一个符咒。。除了小问题。仍然可以不选择任何内容,这意味着取消选择按下的按钮:(…如果默认按下某个按钮,有没有办法避免这种情况?