Неужели нет способа подключиться к событию сброса компонента Ext.js? - PullRequest
1 голос
/ 22 сентября 2010

Когда я сбрасываю форму в Ext.js, она сбрасывает все дочерние компоненты, но запускаются только события invalid и valid.Кажется, немного «хакерски» зацепить их, чтобы обработать очистку значения, разве нет другого пути?«Проблемная область» заключается в том, что я пишу плагин для создания зависимых комбинированных списков:

Ext.plugins.combobox.DependsOn = function(dependsOn) {
    function init() {
        var cb = this,
            parent = Ext.getCmp(dependsOn);

        parent.on("disable", function() {
            cb.clearValue();
            cb.disable();
        });

        parent.on("select", function() {
            cb.disable(); // dependents will be disabled
            cb.clearValue();

            cb.getStore().load();
            cb.enable();
        });

    }
    return {
        init: function(cb) {
            cb.afterRender = cb.afterRender.createSequence(init);
        }
    }
};

Это работает хорошо, пока я не вызову form.reset(), и в этот момент комбинированные списки остаются включенными, но пустыми.Я хотел бы иметь возможность перехватить какое-то событие reset и там отключить и включить мой верхний компонент для каскадного выключения отключенного состояния вниз.Увы, это кажется невозможным, но я надеюсь, что у кого-то есть умный ответ.

Спасибо.

1 Ответ

1 голос
/ 30 сентября 2010

Предполагая, что "parent" является Ext.form.Field, вы можете использовать createSequence для parent.reset.

parent.reset = parent.reset.createSequence(function(){
    //here, do what you would have done with parent.on('reset', ...)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...