2013-06-26 19 views
9

Mam przycisk o identyfikatorze btnAdd i chcę go wyłączyć, gdy jakieś zdarzenie zostanie uruchomione. Zdarzenie ma miejsce, gdy jakieś okno jest zamknięte. Więc próbowałem poniższy kod i to nie działa.Jak wyłączyć przycisk Ext JS

Ext.create('Ext.window.Window', { 
    // Some initialization code goes here... 
    listeners: { 
     close: function(panel, eOpts){ 
      Ext.get('btnAdd').disable(); // this does not work; 
      Ext.get('btnAdd').setDisabled(); // this one does not either 
      Ext.get('btnAdd').disabled = true; // And this one also seems to do nothing 
     } 
    } 
}); 

Jak mogę to zrobić? To może wydawać się dość łatwe pytanie, ale nie oceniaj mnie źle. Jestem całkiem nowy w Ext JS. Nie mogłem znaleźć odpowiedzi w dokumentacji API.

Odpowiedz

11
+0

Twoje rozwiązanie było prawdą, ale musiałem zmienić jedną rzecz. Zamiast Ext.get() musiałem użyć Ext.getCmp(). Tak więc Ext.getCmp ("btnAdd"). SetDisabled (true); ten działał idealnie. Czy możesz mi powiedzieć, jaka jest różnica między tymi dwoma metodami? – Dimitri

+0

@Dima: http://docs.sencha.com/extjs/4.2.1/#!/api/Ext-method-get & http://docs.sencha.com/extjs/4.2.1/#!/ api/Ext-method-getCmp – zerkms

1
Ext.get('btnid').disable(); 
Ext.get('btnid').setDisabled(true); 

obu błędów powrotów, najlepszym sposobem, który działa bez problemów jest

Ext.getCmp('btnid').setDisabled(true) 

i można ustawić tekst, gdy przycisk jest wyłączony powiadomić użytkownik.

Przykład:

Ext.getCmp('btnid').setText("Button has been disabled") 
1

jeśli przycisk jest składnikiem ExtJS następnie użyć

Ext.getCmp('btnAdd').disable(); 

Jeśli nie jest ext js Komponent następnie użyć

Ext.get('btnAdd').setDisabled(true); 

Mam nadzieję, że to pomoże.

Powiązane problemy