0

我正在学习 Extjs 并且遇到了一个问题,当我尝试将新文本附加到一个项目时,我得到一个错误tf.setValue is not a function同样适用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!')
            }
          }],
        });
    }
});

谢谢

4

1 回答 1

2

那是因为Ext.get()将返回一个Ext.Element.

您要使用的是Ext.getCmp('textId')哪个将返回组件。

Element 基本上是围绕 Dom 元素的 Ext 包装器,因此它具有 setVisible 之类的方法,但您想要获取文本区域组件,该组件具有您所追求的所有方法。

于 2012-09-26T16:32:18.187 回答