在我的DataView的itemTpl中,我有以下一行:
<div class="btn" id="colorbtn" uniqueId="{id}">{[this.getColorButton(values)]}</div>
在我的听众中,我有以下内容:
listeners : {
element : 'element',
delegate : '#colorbtn',
tap : function(item, idx, el, evt) {
// gets the item you tapped
btnId = el.getAttribute('uniqueId');
//Ext.getCmp('colorbtn').setText('New Value');
alert("hello "+btnId );
}
}
正如您所看到的,我正在尝试使用Ext.getCmp
获取按钮并设置新文本,但这会引发错误Uncaught TypeError: Cannot read property 'setText' of undefined
。有没有办法实现我追求的目标?
答案 0 :(得分:1)
使用Ext.get()包装事件中返回的元素变量,这将检索Ext.dom.Element对象。然后,您可以使用Ext.dom.Element的可用方法。
示例:
Ext.get(el).setHtml('New Value') ;
注意:如果通过AJAX或DOM使用相同的ID重新创建对象,则自动修复。