我有一個3.0.0的ExtJS Web應用程序,我需要有一個Ext.form.NumberField有一個監聽器需要能夠標記NumberField本身無效。爲什麼ExtJS組件本身不能調用markInvalid()?
問題是,當我嘗試從偵聽器函數內調用markInvalid()函數時,這不起作用。當我從其他任何地方調用它時它工作正常 - 但不在數字字段本身的監聽器中。
這裏是代碼...
var myNumberField = new Ext.form.NumberField({
id: "myNumberField",
listeners : {
'render': function(c) {
c.getEl().on('keyup', function() {
this.markInvalid("Marking this invalid!!");
}, c);
}
},
});
這很奇怪 - 在markInvalid工作得很好,如果我在任何其他地方設置的組件。我甚至可以從另一個組件的偵聽器中設置它 - 我只是不能在組件本身中設置它。它閃爍的瞬間無效,然後返回。
請 - 我真的在我的機智與此結束。任何幫助將不勝感激!!
由於提前, 添
感謝 - 有史以來最好的解釋。你真棒! – 2014-12-13 21:36:04