Добрый день. Я разрабатываю веб-приложение, и я хочу проверить, загрязнен ли мой полевой набор. Первое, что я попытался, было 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();
});
}
});
Как вы можете видеть, я написал две функции, одну в качестве примера, а другую для проверки грязных полей внутри поля. При попытке использовать его в мой контроллер, как:
fieldSet.checkForDirtyFields();
fieldSet.sampleOverride();
Я поздоровался ошибкой: Uncaught TypeError: fieldSet.sampleOverride is not a function
теперь я законно запутаться. Я написал переопределения для Panel XType, и я могу использовать их по назначению (для очистки грязного состояния, для очистки полей внутри формы и т. Д.). Однако кажется, что я не могу сделать функцию переопределения для набора полей.
Любое руководство и помощь будут очень благодарны. Спасибо.
Нет причин, по которым не должно работать. Составьте тестовый пример. –
Я нашел работу вокруг. Я скоро отправлю свой ответ. – Razgriz