fad*_*adh 5 reference toolbar extjs4
我想在控制器内定义一个ref来启用/禁用选择更改时的删除buitton.但是我没有把它弄好,所以getDelButton() - Method提供了未定义的.请帮忙...
控制器:
refs:[
{ ref: 'tabPanel', selector: 'viewport > tabPanel' },
{ ref: 'grid', selector: 'tabPanel > usermanagementgrid' },
{ ref: 'delButton', selector: 'grid > button #delete'}
],
Run Code Online (Sandbox Code Playgroud)
...
this.getDelButton().setDisabled(false);
Run Code Online (Sandbox Code Playgroud)
查看定义:
dockedItems: [{
xtype: 'toolbar',
items : [ {
xtype: 'button',
id: 'delete',
iconCls: 'drop-add',
text: 'Add',
tooltip: 'Press to add a new user.',
action: 'addUser',
scope: this,
},
Run Code Online (Sandbox Code Playgroud)
提前致谢...
您的选择器可能有3个问题:
button#delete.gridpanel而不是grid.button不是直接的孩子grid.toolbar在这种情况下,它很可能是直接的孩子.这意味着你必须做更多的事情:gridpanel > toolbar > button#delete或者gridpanel button#delete.参考上面的#3,>选择器意味着父母的DIRECT CHILD.这意味着父母的孩子,而不仅仅是嵌套链下的某个组件.如果您只想在gridpanel当时使用按钮gridpanel button.这将搜索所有gridpanel孩子和所有孩子,找到匹配的东西button.但请注意,以这种方式使用它将返回所有按钮gridpanel(除非您指定id).
最后,在firebug中使用您的控制台将帮助您IMMENSELY.打开firebug,在控制台中可以运行命令.因此,加载网格并运行以下命令:
Ext.ComponentQuery.query('gridpanel > toolbar > button#delete')并查看返回的内容.这样您就不必继续在代码中来回移动并刷新浏览器窗口.请记住,query()返回一个数组.
我有一个类似的问题,结果是网格选择器,通常选择器使用 xtype 并且网格有 grid 或 gridpanel。尝试使用selector: 'gridpanel >button #delete'