美好的一天。我正在開發一個Web應用程序,我想檢查我的fieldSet是否髒。我嘗試的第一件事是fieldSet.isDirty();
,但由於功能isDirty()
無法應用於fieldSet xType,我很快遇到了一個錯誤。爲了仍然使用一個優雅的解決方案,我爲fieldSet寫了一個覆蓋。我的覆蓋看起來像:ExtJS - 重寫FieldSet xType並添加一個函數似乎不起作用?
Ext.define('myApp.override.form.FieldSet', {
override: 'Ext.form.FieldSet',
sampleOverride: function(){
console.log("hi! sample override function entered");
},
checkForDirtyFields: function(){
me = this;
return this.getFields().findBy(function(f){
return f.isDirty();
});
}
});如你所見,我寫了2個函數,一個作爲例子,另一個用於檢查fieldSet中的髒字段。在嘗試使用它在我的控制器:
fieldSet.checkForDirtyFields();
fieldSet.sampleOverride();
我迎了一個錯誤:Uncaught TypeError: fieldSet.sampleOverride is not a function
我現在合法困惑。我爲面板XType編寫了覆蓋,我可以按預期使用它們(清除髒狀態,清除表單中的字段等)。但是,似乎我無法爲字段集製作覆蓋功能。
任何領導和幫助將非常感激。謝謝。
沒有理由不應該工作。整理一個測試用例。 –
我找到了解決辦法。我很快就會發布我的答案。 – Razgriz