问题描述
最近自己在做一个东西,前端用的是EXT,也是在自学自用EXT,遇到一个窗口间的参数传递问题,向各位请教一下:主页面是一个gridpanel(该panel中有一个参数(ID)),点击“新增”弹出一个新窗口(是用EXT.window实现的),新窗口中有一个formpanel,我现在需要的就是在formpanel提交的时候,能够将主页面的gridpanel中的参数ID传到后台,请问我该这么实现? 问题补充:我需要的参数在主页面的的一个container中,具体是这样的:layout : 'border',items : [ {itemId : 'grid',xtype : 'customerlist',region : 'center'}, {itemId : 'detail',xtype : 'customerdetail',region : 'south',split : true} ]我需要的参数(暂且命名为customerid)就是在grid中,那我是不是应该这样:var gridCmp = Ext.getCmp('grid');var customerid = gridCmp.customerid;这样能够获取到customerid吗?scl333 写道
解决方案
你的每个窗口都有自己的ID吧?那么最简单的办法就是 Ext.getCmp("ID"), 即可获得任何你想要得到的组件. 这里的ID填入你的父窗口ID, 获得父窗口组件后, 就可以获得其中所有你想要的东西了.
解决方案二:
你的FormPanel在提交时应该走的是一个function吧! 在此函数中,给store的baseParams参数增加你要的参数,类似代码如下:this.store.baseParams = Ext.apply({queryStr:value}, {id: gridpanel的id}, {}); 当然id的值得从Ext.getCmp('...')获取。
解决方案三:
你可以通过在new新Window时,把你需要的ID参数传入,这样在你windows的formpanel提交时就可以直接获取了。