我正在学习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!')
}
}],
});
}
});
由于
答案 0 :(得分:2)
那是因为Ext.get()
会返回Ext.Element
。
您要使用的是Ext.getCmp('textId')
,它将返回该组件。
元素基本上是围绕Dom元素的Ext包装器,所以它有像setVisible这样的方法,但你想得到文本区域组件,它包含你想要的所有方法。