Setze den Wert von numberfield, ohne das Ereignis "change" in Sencha Touch auszulösen

7

Ich habe ein Nummernfeld und eine Liste in Sencha Touch. Wenn ich auf ein Element in der Liste klicke, mache ich eine AJAX-Anfrage, um Daten an den Server zu senden. Wenn sich jedoch Daten im Feld number befinden, möchte ich das beim Klicken auf die Liste löschen.

Ich habe kein Problem damit (ich setze den Wert auf eine leere Zeichenkette), aber das Änderungsereignis wird auf das Nummernfeld ausgelöst. Dies führt dazu, dass eine weitere AJAX-Anforderung ausgeführt wird, die nicht benötigt wird. Gibt es eine Möglichkeit, ein Nummernfeld zu löschen OHNE das Change Event auszulösen? SuspendEvents funktioniert nicht, da das Löschen des Nummernfeldes ein Ereignis erfordert.

Irgendwelche Gedanken oder Vorschläge? Danke!

Codeleitungen, die ich ausprobiert habe:

suspendEvents(); me.getWhatScreen().down('numberfield[name=caseNumber]').setValue(''); resumeEvents(true);

me.suspendEvents(); me.getWhatScreen().down('numberfield[name=caseNumber]').setValue(''); me.resumeEvents(true);

    
bnrq 04.06.2013, 15:58
quelle

2 Antworten

22

Do suspendEvents() , aktualisiere dein numberfield und mache dann resumeEvents()

AKTUALISIEREN

%Vor%     
sha 04.06.2013, 16:01
quelle
3

UPDATE für Sencha Touch 2.4

Die richtige Reihenfolge ist

%Vor%

resumeEvents dauert der boolesche Parameter discardQueuedEvents

    
yann1s 13.11.2015 15:17
quelle