ext中关于替换布局中的panel

今天做任务碰到一个问题:左边是一颗树,右边是一个grid的布局;当点击左侧树的时候可以动态的“替换”掉右边的grid。

由于右侧的grid是被二次封装过的,所以不能简单的用之前替换url的方法去解决这个问题。所以想到动态去替换panel中的item方法。这个有两个解决的方法,解法不同但是本质上都是操作一个先定义好的容器panel,再对其中需要的组件进行操作。

(以下的示例没有贴完全的代码,部分实现需要自己去完成,如触发事件如何去写)
第一个:在viewport的center里先定义好一个容器panel,然后把要替换的组件加到此panel里

示例代码:

//定义主面板
this.panel=newExt.Panel({
region:'center',
margins:'1111',
layout:'fit',
items:[viewPanel]
});


new Ext.Viewport({
layout:'border',
title:'替换右侧grid',
items:[this.tree,this.panel]

)}

//这里填写树的触发事件

tree.on("click", function(){

this.panel.add(viewPanel);//
this.doLayout();

})

第二个:第二个方法不是用“替换”,而是利用新的布局cardLayout,具体示例:

varpanel=newExt.Panel({
region:'center',
layout:'card',
activeItem:0,
items:[initPanel] //初始化时需要显示的grid
});

tree.on("click",function(){

panel.add(xxx); //xxx代表你要添加的grid
panel.getLayout().setActiveItem(1); //利用cardLayout特有的方法,直接显示第二个item
});

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值