2016-12-16 8 views
0

Ich habe in einer Form Panel zwei Textfelder hinzugefügt:Wanted 2 Textfelder löschen ExtJS mit

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

ich die folgende Funktion geschrieben haben, für die Textfelder zu entfernen:

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

Auf Ausführung Die Konsole zeigt an, dass setValue keine Funktion ist.

Antwort

0

Ext.getCmp ('entfernen') gibt eine Instanz des Formulars Panel, nicht Ihrer Textfelder:

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

text1.setValue(""); 
text2.setValue(""); 
0
yourForm.reset(); 

werden alle Ihre Eingaben auf den Standardwert zurückgesetzt

Wenn Sie müssen das Eingabefeld löschen, das Sie versuchen können:

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

Wenn Sie den Wert eines einzelnen Feldes löschen müssen, können Sie erhalten Sie das Feld wie diese:

form.getComponent(//index) 

form.findField(//id of the field) 

und dann rufen sie .setValue(''); oder .reset();

Wenn stattdessen müssen Sie alle Eingabefelder aus dem Formular löschen Sie es wie folgt tun:

form.removeAll();