lqfzl0
2009-09-18 11:45
浏览 352

EXTJS关于Panel动态ITEMS的问题

为了大家都看明白,先帖上部分代码:
var layout = new Ext.Panel({
title: 'XXXXXX',
layout: 'fit',
layoutConfig: {
columns: 1
},
items: [page1]
});

layout.render(Ext.getBody());

好,就这样,我的问题是,如果page1是一个字符串~~比如说我从服务器端获取的值是var str = "page1"(当然也会有"page2"之类的),然后我定义Gird时也用page1=new Ext.grid.GridPanel(...); page2=new Ext.grid.GridPanel(...);这种形式,然后我想显示的时候直接通过items: [str]这种形式显示出对应的界面,比如str = "page1",于是items:[page1].
但现在是直接page1可以显示,但变成字符str就不行了.大家有没有什么解决方案,在此谢过.

不知道我说明白没有~~~~~
[b]问题补充:[/b]
这个Ext.util.MixedCollection()需要加入什么 JS文件呢?
[b]问题补充:[/b]
搞定了,原来map.put("page1",page1); 这句话应该改为map.add("page1",page1);

多谢atian25~你的指导让我学到了很多.
结帖了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • iteye_10013 2009-09-18 13:39
    已采纳

    [code="java"]
    //把你的panel之类的定义存入一个object,或者一个Ext.util.MixedCollection
    var map = new Ext.util.MixedCollection();
    var page1=new Ext.grid.GridPanel(...);
    map.put("page1",page1);

    //使用的时候,
    var str = "page1";
    items:[
    map.get(str)
    ][/code]

    点赞 打赏 评论
  • iteye_10013 2009-09-18 14:13

    Class Ext.util.MixedCollection
    Package: Ext.util
    Defined In: MixedCollection.js
    Class: MixedCollection
    Subclasses: StoreMgr
    Extends: Observable

    多看api

    点赞 打赏 评论

相关推荐 更多相似问题