Sencha ExtJS grid checkbox model single mode снимите флажок



Мне было интересно, можно ли отменить выделение выбранной строки в сетке ExtJS 6 с помощью этой конфигурации selModel:



selModel: Ext.create('Ext.selection.CheckboxModel', {
mode: 'SINGLE',
checkOnly: 'true',
allowDeselect: true,
}),


У меня есть следующая скрипка, которая показывает поведение, с которым я в настоящее время сталкиваюсь: https://fiddle.sencha.com/#fiddle/1h4l



Похоже, что единственный способ отменить выбор строки-это выбрать другую строку, которая мне не нужна.

685   2  

2 ответов:

Не создавайте модель выбора напрямую; вместо этого используйте xtype. Изменение selModel на это работает, как и ожидалось в вашей скрипке:

selModel: { 
  selType: 'checkboxmodel',
  mode: 'SINGLE',
  checkOnly: 'true',
  allowDeselect: true               
},
selModel: Ext.create('Ext.selection.CheckboxModel', {
        checkOnly: 'true',
        allowDeselect: true,                              
 }),

Если вы удалите режим: 'SINGLE' , то он работает нормально.

Если вы хотите выбрать одну строку за один раз, то вы должны проверить в событии "beforeselect", выбрана ли какая-либо другая строка или нет.

Вы можете получить количество проверенных с помощью:

var selectedRows = getSelectionModel().getSelection();

Comments

    Ничего не найдено.