9

我在 Sencha Touch 中有一个数字字段和一个列表。当我单击列表中的某个项目时,我正在执行 AJAX 请求以将数据发送到服务器。但是,如果数字字段中有数据,我想在单击列表时清除它。

我这样做没有问题(我将值设置为空白字符串),但是,在数字字段上触发了更改事件。这会导致另一个不需要的 AJAX 请求运行。有没有办法在不触发更改事件的情况下清除数字字段?SuspendEvents 不起作用,因为清除数字字段需要一个事件。

有什么想法或建议吗?谢谢!

我尝试过的代码行:

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

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

4

2 回答 2

24

suspendEvents(),更新你的数字字段,然后做resumeEvents()

更新

var control = me.getWhatScreen().down(...);
control.suspendEvents();
control.setValue('');
control.resumeEvents(false);
于 2013-06-04T16:01:22.027 回答
2

Sencha Touch 2.4 更新

正确的顺序是

var control = me.getWhatScreen().down(...);
control.suspendEvents();
control.setValue('');
control.resumeEvents(true);

resumeEvents采用布尔参数discardQueuedEvents

于 2015-11-13T15:17:37.950 回答