Extjs 6.0.2: setStyle нуля

Я создаю плавающую панель B внутри другой панели A (рендеринг в A); Когда я закрываю панель A, панель B также закрывается. Но панель B по-прежнему остается в zIndexManager.zIndexStack. Таким образом, вызов этого компонента для изменения его z и, таким образом, дает setStyle нулевую ошибку. Любая идея?

var A = Ext.create('Ext.form.Panel', {
            floating: true,
            alignOnScroll: false,
            resizable: false,
            layout: 'fit',
            width: 450,
            height: 400,
            renderTo: B.id,
            items: [another Panel],
            dockedItems: [{
                xtype: 'toolbar',
                style: 'background:#f6f6f6',
                dock: 'bottom',
                layout: {
                    pack: 'center',
                    type: 'hbox'
                },
                items: [{
                        xtype: 'button',
                        ui: 'header',
                        tooltip: 'Submit',
                        iconCls: 'x-fa fa-check',
                        scope: this

                    },
                    {
                        xtype: 'button',
                        ui: 'header',
                        tooltip: 'Close',
                        iconCls: 'x-fa fa-remove',
                        scope: this,
                    }
                ]
            }]
        });

        A.showBy(this.lookupReference('abcd'), 'tl-tr?');

Следующая ошибка, которую я получаю после закрытия родительской панели и повторного открытия

Uncaught TypeError: невозможно прочитать свойство 'style' со значением null в конструкторе.setStyle (ext-all-rtl-debug.js?_dc=20170112151748:37862) в конструкторе.setZIndex (ext-all-rtl-debug.js?_dc=20170112151748) :38103) в конструкторе.setZIndex (ext-all-rtl-debug.js?_dc=20170112151748:59257) в конструкторе.onCollectionSort (ext-all-rtl-debug.js?_dc=20170112151748:124552) в конструкторе.notify ( ext-all-rtl-debug.js?_dc=20170112151748:72945) в конструкторе. js?_dc=20170112151748:73123) в конструкторе.onEndUpdateSorters (ext-all-rtl-debug.js?_dc=20170112151748:73329) в конструкторе.fire (ext-all-rtl-debug.js?_dc=20170112151748:20226) в конструкторе.doFireEvent (ext-all-rtl-debug.js?_dc=20170112151748:21133)


person AngryLeo    schedule 17.01.2017    source источник
comment
Мой вопрос заключается в том, почему вы визуализируете компонент A в компонент B, используя renderTo. Я думаю, было бы лучше, если бы вы использовали B.add(A), так как это не нарушило бы обработку компонентов фреймворком.   -  person daniel f.    schedule 27.01.2017
comment
@AngryLeo, ты когда-нибудь находил решение для этого?   -  person hbulens    schedule 10.10.2018
comment
@hbulens не смог решить эту проблему, поэтому попробовал то, что предложил Даниэль, и это сработало.   -  person AngryLeo    schedule 11.10.2018


Ответы (1)


Если вы вручную вызываете destroy() для плавающих компонентов, когда панель A закрыта, это устраняет проблему.

person Kyle OConnor    schedule 16.11.2020