2016-11-27 122 views

回答

1

這是因爲使用了padding: '0, 0, 0, -13'這是不是讓你點擊複選框,因爲它是隱藏的(按IE)。

看來你不想顯示默認的複選框。所以,你可以使用component而不是checkbox來實現相同的功能。

{ 
       xtype: 'component', 
    //creating unique id because we need handle of this checkbox later 
       id: id + 'selectAllChkBox', 
      html: '<img class="checkbox-unchecked" style="height:13px;width:13px;"></img>' + ' Select All', 
        listeners: { 
     render: function(chkBox){ 
      chkBox.getEl().on({ 
       click: function() { 

        combo.expand(); 
        if (!allSelected) { 
         combo.select(combo.getStore().getRange()); 
         totalCount = combo.getStore().getRange().length; 

         allSelected = true; 
         chkBox.setHtml('<img class="checkbox-checked " style="height:13px;width:13px;"></img>' + ' Deselect All'); 

        } else { 
         combo.reset(); 
         combo.setValue(null); 
         totalCount = 0; 
         allSelected = false; 
         chkBox.setHtml('<img class="checkbox-unchecked " style="height:13px;width:13px;"></img>' + ' Select All'); 
        }    } 
      }); 
     } 
        } 

      } 
+0

感謝Ankit替代解決方案,它在6.01中正常工作,但它不適用於我們要在幾個月內升級到的extjs 6.2版本。我認爲你的解決方案很好,在版本6.2中有一些問題。你可以請建議一些修復? – Gaurav

+0

您是否在選擇/選擇全部選項時討論IE中的閃爍問題? –

+0

是的,這就是我正在談論的。 – Gaurav

相關問題