有没有方法从pagingtoolbar获取所有启用的按钮?

Alm*_*mas 0 extjs extjs4.2

我的问候 !

我试图通过热键专注于第一个pagingtoolbar的按钮.例如,当它将按CTRL + - >组合时,焦点将在pagingtoolbar的第一个启用按钮上.

这时我可以获得fisrt禁用按钮:

Ext.ComponentQuery.query('pagingtoolbar button{isDisabled()}')[0] 
Run Code Online (Sandbox Code Playgroud)

但我需要这样的代码:

Ext.ComponentQuery.query('pagingtoolbar button{isEnabled()}')[0]
Run Code Online (Sandbox Code Playgroud)

我以为在Ext.button.Button中有这样的方法,但我找不到它.显然,我可以通过另一种方式解决我的问题,例如,我可以通过以下代码获取分页工具栏中的所有启用按钮:

var buttons = Ext.ComponentQuery.query('pagingtoolbar button');
var en_buttons = [];
for(var i=0;i<buttons.length;i++){
  if( !buttons[i].isDisabled() )en_buttons.push(buttons[i]);
}
en_buttons[0].focus(false,100); 
Run Code Online (Sandbox Code Playgroud)

但我相信没有必要编写这样的代码,必须通过一行代码来解决.

关于,A

CD.*_*D.. 6

您可以使用该disabled物业.

禁用按钮:

Ext.ComponentQuery.query('pagingtoolbar button[disabled=true]')
Run Code Online (Sandbox Code Playgroud)

启用按钮:

Ext.ComponentQuery.query('pagingtoolbar button[disabled=false]')
Run Code Online (Sandbox Code Playgroud)