Радиогруппа Extjs с кнопками - PullRequest
5 голосов
/ 04 февраля 2011

Для создания набора инструментов я хочу знать, как сделать радиогруппу с обычными кнопками, а не с радиокнопками в последних extJS

Как это с jQueryUI: http://jqueryui.com/demos/button/#radio

Спасибо взаранее, Хиелус

Ответы [ 4 ]

8 голосов
/ 07 февраля 2011

Думаю, вам стоит взглянуть на использование стандартных кнопок ExtJS. Кнопку можно назначить группе , чтобы они действовали как элементы, показанные в вашей ссылке.

См. Этот пример:

{
    xtype: 'button',
    text: 'Choice 1',
    toggleGroup: 'mygroup'
}, {
    xtype: 'button',
    text: 'Choice 2',
    toggleGroup: 'mygroup'
}, {
    xtype: 'button',
    text: 'Choice 3',
    toggleGroup: 'mygroup'
}

Кнопки также имеют свойство под названием enableToggle, которое позволяет им переключаться, и автоматически устанавливается в значение true, когда вы устанавливаете toggleGroup, а toggleGroup сообщает ExtJS, как они связаны.

Обратите внимание, они выглядят как обычные кнопки ExtJS, но ведут себя так, как вы хотите.

4 голосов
/ 28 сентября 2012

Существует менее сложный (лучше?) Способ запретить отмену выбора кнопки. Установите для параметра конфигурации allowDepress значение false:

{
    xtype: 'radiogroup',
    layout: 'hbox',
    defaultType: 'button',
    defaults: {
        enableToggle: true,
        toggleGroup: 'mygroup',
        allowDepress: false,
        items: [
            { text: 'Choice 1'},
            { text: 'Choice 2'},
            { text: 'Choice 3'}
        ]
    }
}
1 голос
/ 10 ноября 2011

Просто чтобы ответить на комментарий @ mastak (в ответе выше), чтобы запретить действие отмены выбора кнопки, добавьте этот слушатель к каждой кнопке:

listeners: {
   click: function(me, event) {
      // make sure a button cannot be de-selected
      me.toggle(true);
   }
}

Таким образом, каждый щелчок по кнопке перевыбирает ее.

-dbg

0 голосов
/ 13 октября 2018

Просто добавляю в пост @deebugger. Вы также можете использовать следующее свойство кнопки, чтобы запретить выделение

Ext.create('Ext.Button', {
    renderTo     : Ext.getBody(),
    text         : 'Click Me',
    enableToggle : true,
    allowDepress : false
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...