javascript - extjs 门户示例中的动态列

标签 javascript extjs

extjs 门户示例中的动态列。

我想在 extjs 门户示例中动态插入列——特别是我想嵌套它们,问题是我能够动态添加列但不能在其中删除 portlet,但是如果我手动嵌套列(即如果它们已经存在并且未在运行时定义)那么一切正常,即我能够将 portlet 放入其中。

有人能帮忙吗?

这里是一些相关的代码:

基本声明:

Ext.define('Ext.app.Portal', {
id: 'parentPortal',
    extend: 'Ext.container.Viewport',
    requires: ['Ext.app.PortalPanel', 'Ext.app.PortalColumn', 'Ext.app.GridPortlet', 'Ext.app.ChartPortlet'],
initComponent: function(){
    items: [{                        
                        xtype: 'portalpanel',
                        id:'threecolumn',
                        region: 'center',                        
                        items: [{
                            id: 'col-1',
                            width: 200,
                            childAnchor: '50% 50%' ,
                            items: [
                                {
                                    xtype: 'portalpanel',
                                    items: [
                                        {
                                            id: 'col-4',
                                            minHeight:200
                                        }

                                    ],                                    
                                }
                            ]
                        },{
                            id: 'col-2',
                            items: [
                                {
                                    xtype: 'portalpanel',
                                    items: [
                                        {
                                            id: 'col-5',
                                            minHeight:200
                                        }

                                    ],                                    
                                }
                            ]
                        },{
                            id: 'col-3'
                        }]
                    }]
}
}

动态列:

Ext.create('Ext.app.PortalPanel', {            
              xtype: 'portalpanel',              
        });
}

最佳答案

请添加监听器

listeners: {
                render: function() {
                    var panel = this;
                    setTimeout( function() {
                    var parent = panel.up('portalpanel');
                    var bb = Ext.ComponentQuery.query('#threecolumn')[0]
                    console.log( bb == parent );
                    parent.dd.unreg();
                    parent.dd = Ext.create('Ext.app.PortalDropZone', parent, parent.dropConfig);
                    bb.dd.unreg();
                    bb.dd = Ext.create('Ext.app.PortalDropZone', bb, bb.dropConfig);        
                    console.log(panel);
                    console.log(parent);
                    }, 500);                        
                }
              }

关于javascript - extjs 门户示例中的动态列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18941481/

相关文章:

Javascript字典性能问题

javascript - 配置 text.js 的位置

extjs - 分机 JS : what is xtype good for?

javascript - extjs 5 中的多分组

javascript - ExtJS 4.2 DatePicker 多选捕获 Controller 中的事件

rest - ExtJS5:摆脱代理中的根属性

javascript - 如何在 Polymer 1.0 中使用 iron-dropdown?

javascript - 如何在 IOS 上使用 fontStyle? (使用 React-Native)

javascript - 有没有办法确定在 Firebug 或网络检查器中发出 XHR 的行?

extjs - 如何使用 Ext.Js 实现对网格中多个字段的实时搜索/过滤?