1
我一直在尋找的源代碼的rallymultiobjectpicker,更具體地,這條線,所述initEvents函數內:拉力應用SDK 2.0:調用在rallymultiobjectpicker重新濾波器商店來驗證()由管理聽衆
this.mon(this.inputEl, 'keyup', this.validate, this);
它調用屬於對象實例的驗證函數。但是,經過進一步的檢查,我沒有看到任何代碼會觸發重新過濾商店的行爲,從而加載/追加外部值,這正是我目前所看到的。
下面是驗證功能(http://bit.ly/MXH6CB)來源:
validate : function() {
var me = this,
isValid = me.isValid();
if (isValid !== me.wasValid) {
me.wasValid = isValid;
me.fireEvent('validitychange', me, isValid);
}
return isValid;
}
注:對於它的價值,的RemoteGroup,remoteSort和remoteFilter都設置爲false。
編輯:事實上,它不是驗證功能,將會觸發行爲,但initFiltering函數調用初始化一個按鍵監聽器,在文本輸入過濾AutoFilterable類。
_onStoreLoad: function() {
this.removePlaceholderText();
this.groupRecords();
this.initFiltering();
}
好的。我現在可以看到。它調用_onStoreLoad函數中的initFiltering來初始化偵聽器以對文本輸入進行過濾。但是,如果調用這個數據,那麼數據是從原始存儲中提取的?因此,基本上,如果我將商店設置爲我自己的派生類型之一,則輸入將導致過濾發生,從原始商店返回匹配該輸入模式的結果,然後重新填充該控件。我想沒有簡單的解決方法。我試着覆蓋_onStoreLoad來排除調用,但是然後displayField沒有被填充。 – user1417835 2012-07-31 18:51:35