问题描述
如上图所示 portal不能全屏显示 必须设置 高度和宽度 如果不设置则 不显示 麻烦各位看看 是什么问题 谢谢 问题补充:忘记 贴代码了 不知道 这样能看清楚不 Ext.onReady(function () { divo.admin.portal.MainPanel = Ext.extend(Ext.Panel, { initComponent: function () { this.portId = 'admin-portal' this.portalMgr = new divo.admin.portal.PortalManager(this.portId) Ext.apply(this, { layout: 'border', border: false, height:700, items: [{ region: 'center', layout: 'fit', autoScroll: true, border:false, tbar: this.portalMgr.getTbar(), items: [{ xtype: 'statefulportal', id: this.portId, items: [{ columnWidth: .25, style: 'padding:10px 0 10px 10px' }, { columnWidth: .25, style: 'padding:10px 0 10px 10px' }, { columnWidth: .25, style: 'padding:10px 0 10px 10px' }, { columnWidth: .25, style: 'padding:10px 0 10px 10px' }] }] }] }) divo.admin.portal.MainPanel.superclass.initComponent.call(this) }, initPortal: function () { this.portalState = new Ext.ux.PortalState() this.portalState.init(this.portId, this.myId("state")) this.portalMgr.init(this.portId, this.portalState) Ext.ComponentMgr.get(this.portId).on("drop", function () { this.portalState.save() }, this) } }) /*-------------- main --------------------*/ var mp = new divo.admin.portal.MainPanel({ id: 'admin-portal' }) mp.initPortal() mp.render("container") })
解决方案
首先,divo.admin.portal.MainPanel = Ext.extend(Ext.Panel, { 你的这部分表明你定义的是一个Panel组件,mp.render("container") 渲染到div容器的时候需要指定width,height如果你要全屏,应该定义一个viewport,然后把你的panel放到里面即可具体的你可以参考下ext包的examples/portal中的实现