我正在学习Extjs并遇到问题,当我尝试将新文本追加到项目时,出现错误tf.setValue不是一个功能,getValue
也是如此。当我尝试setVisible
时,它应该工作。
Ext.Loader.setConfig({enabled:true});
Ext.application({
name: 'app',
controllers:[
],
appFolder: 'app',
launch: function() {
var panel = new Ext.form.FormPanel({
renderTo:Ext.getBody(),
title:'Panel',
width:400,
bodyPadding: 10,
autoHeight:true,
items:[{
xtype:'textareafield',
name: 'textInput',
id:'textId',
value:'why not'
},{
xtype:'button',
text:'Helllo',
handler:function(){
console.log('button click')
var tf = Ext.get('textId');
tf.setValue('This should change!')
}
}],
});
}
});
谢谢
最佳答案
这是因为Ext.get()
将返回Ext.Element
。
您要使用的是Ext.getCmp('textId')
,它将返回组件。
Element基本上是Dom元素周围的Ext包装器,因此它具有setVisible之类的方法,但是您要获取文本区域组件,该组件具有您要使用的所有方法。