Плавающий список классов Classi c закрывается при нажатии, чтобы развернуть - PullRequest
2 голосов
/ 21 января 2020

Даже в примере с кухонной раковиной sencha, когда в микро режиме при первом щелчке по вложенному древовидному списку весь всплывающий древовидный список закрывается и выдается следующее сообщение об ошибке консоли:

Uncaught TypeError: Не удается прочитать свойство 'un' of null

Вы можете увидеть ошибку в https://examples.sencha.com/extjs/7.0.0/examples/kitchensink/?classic#tree -list

Вам просто нужно навести курсор на дом и нажать, чтобы развернуть 'admin' .

У кого-нибудь есть исправление для этого?

1 Ответ

1 голос
/ 22 января 2020

Это происходит потому, что метод onRefresh из treelist, который был вызван из expand косвенно. В onRefresh ext js удалите текущий root и создайте его заново.

            me.removeRoot();

            if (root) {
                me.createRootItem(root);
            }

Нам нужно добавить проверку условия getMicro. Я создал переопределение:

Ext.define('Ext.list.TreeOverride', {
    override: 'Ext.list.Tree',
    privates: {
    onRootChange: function (root) {
        var me = this;
        if (!me.getMicro()) {
            me.removeRoot();
            if (root) {
                me.createRootItem(root);
            }
            me.updateLayout();
        }
        me.fireEvent('refresh', me);
    }
    }
});

и скрипка с примером фиксированной кухонной раковины

...