Reference ExtJs 4对网格中工具栏按钮的引用
我想在控制器内定义一个ref,以便在选择更改时启用/禁用delete Builton。但是我没有理解正确,因此getDelButton()方法提供了未定义的。请帮忙 控制器:Reference ExtJs 4对网格中工具栏按钮的引用,reference,extjs4,toolbar,Reference,Extjs4,Toolbar,我想在控制器内定义一个ref,以便在选择更改时启用/禁用delete Builton。但是我没有理解正确,因此getDelButton()方法提供了未定义的。请帮忙 控制器: refs:[ { ref: 'tabPanel', selector: 'viewport > tabPanel' }, { ref: 'grid', selector: 'tabPanel > usermanagementgrid' }, { ref: 'delButto
refs:[
{ ref: 'tabPanel', selector: 'viewport > tabPanel' },
{ ref: 'grid', selector: 'tabPanel > usermanagementgrid' },
{ ref: 'delButton', selector: 'grid > button #delete'}
],
视图定义:
dockedItems: [{
xtype: 'toolbar',
items : [ {
xtype: 'button',
id: 'delete',
iconCls: 'drop-add',
text: 'Add',
tooltip: 'Press to add a new user.',
action: 'addUser',
scope: this,
},
提前感谢…我遇到了一个类似的问题,原来是网格选择器,通常选择器使用xtype,网格有网格或网格面板。尝试使用选择器:“gridpanel>按钮#delete”检查属性。选择器可能有3个问题:
按钮#删除
gridpanel
而不是grid
按钮
不是网格
的直接子项。在这种情况下,它很可能是工具栏
的直接子级。这意味着您必须执行类似的操作:gridpanel>toolbar>按钮#删除
或gridpanel按钮#删除
选择器表示父级的直接子级。这意味着字面上是父对象的子对象,而不仅仅是嵌套链中的某个组件。如果您只想在gridpanel
中拉一个按钮,请使用gridpanel按钮
。这将搜索所有gridpanel
的子项,并在所有这些子项中查找任何匹配按钮的内容。但是,请注意,以这种方式使用它将返回gridpanel
中的所有按钮(当然,除非您指定id)
最后,在firebug中使用控制台将极大地帮助您。打开firebug,在控制台中可以运行命令。因此,加载网格并运行以下命令:
Ext.ComponentQuery.query('gridpanel>toolbar>button#delete')
并查看返回的内容。这样,您就不必反复查看代码和刷新浏览器窗口。请记住,query()
返回一个数组。+1获得完整答案。但我认为#2不是原因。否则sencha在使用refs部分会有无效的例子。我无论如何都不是ExtJS大师。但是,当我尝试在Ext.ComponentQuery.query()中使用选择器时,除非使用gridpanel vs grid,否则它将无法工作。我很好奇为什么,如果我弄明白了,我会把它贴在这里。谢谢你的+1!请接受回答,如果您没有得到所需的内容,请添加评论。
dockedItems: [{
xtype: 'toolbar',
items : [ {
xtype: 'button',
id: 'delete',
iconCls: 'drop-add',
text: 'Add',
tooltip: 'Press to add a new user.',
action: 'addUser',
scope: this,
},