想要使用ExtJS删除2个文本字段

时间:2016-12-16 12:12:01

标签: extjs5

我在表单面板中添加了两个文本字段:

    {
        xtype: 'formpanel'
        ,flex: 1
        ,id: 'remove'
        ,defaults: {
            xtype: 'textfield'
            ,readOnly: true
        }
        ,items: [{
            bind: {
                value: '{loadDetails.firstname}'
            }
        },{
            bind: {
                value: '{loadDetails.lastname}'
            }
        }

我编写了以下用于删除文本字段的功能:

onRemove: function(){
    Ext.getCmp('remove').setValue("");
}

执行此操作时,控制台显示setValue不是函数。

2 个答案:

答案 0 :(得分:0)

Ext.getCmp('remove')返回表单面板的实例,而不是文本字段的实例:

var form = Ext.getCmp('remove');
var text1 = form.items.getAt(0);
var text2 = form.items.getAt(1);

text1.setValue("");
text2.setValue("");

答案 1 :(得分:0)

yourForm.reset(); 

会将所有输入重置为默认值

如果您需要删除输入字段,可以尝试:

yourForm.getComponent(//index of the component).destroy();

如果您需要清除单个字段的值,您可以获得如下字段:

form.getComponent(//index)

form.findField(//id of the field)

然后拨打.setValue('');.reset();

如果你需要删除表单中的所有输入字段,你可以这样做:

form.removeAll();