扩展Ext.tree.Panel时,Ext JS insertAdjacentHTML为null

时间:2012-03-20 14:49:45

标签: javascript extjs extjs4

在扩展JS 4中扩展Ext.tree.Panel时遇到问题 我有这段代码:

Ext.define('Peps.tree', {
    extend: 'Ext.tree.Panel',
    alias: 'widget.pepstree',
});

Ext.create('Peps.tree', {
    renderTo:'selection_indicateur',
    id : 'pepstree',
    width:'500px',
    height:'500px'
});

Ext.create('Peps.tree', {
   renderTo:'selection_arborescence',
   id : 'pepstree2',
   width:'500px',
   height:'500px'
});

当我执行时,我只能看到一个树形板创建并出现错误:

Uncaught TypeError: Cannot read property 'insertAdjacentHTML' of null

此代码是真实代码的最小版本,我希望解决最小代码将解决所有问题。

我做错了什么?有什么想法吗?

非常感谢! :)

2 个答案:

答案 0 :(得分:1)

当我将你的代码放入jsfiddle时,我没有得到你所描述的错误 http://jsfiddle.net/dbrin/VbTjx/embedded/result/

然而你会注意到,当你在第二个网格上扩展第二级孩子时,你没有得到任何孩子 - 所以那里有一些错误,但我不确定这些是否与你看到的问题有关。

看起来普通的原型共享根 - 这在这里不是一件好事。

答案 1 :(得分:0)

所以我发现了这个问题,我不知道为什么,但是在扩展treepanel时,ext js需要定义viewconfig的id。

所以我在initComponent()方法中添加了这个:

initComponent: function() {
    var id = Ext.id();
    Ext.apply(this, {
        viewConfig: {
            id: id + '-view'
        }
    }
}