解决方案 »

  1.   

    closeAction:'hide',是对window用的,去掉你的id属性或改成name。
      

  2.   

    closeAction:'hide',是对window用的,去掉你的id属性或改成name。
    Ext如何比较字符串?center里面判断是否已经存在name,无效了,id为什么不能用?
      

  3.   

    closeAction:'hide',是对window用的,去掉你的id属性或改成name。
    刚刚断点看了下 record.data没有name这个属性,所以读取不了name值 也就无法判断了
      

  4.   

    getCmp( id ) : Object
    This is shorthand reference to Ext.ComponentManager.get. Looks up an existing Component by id
    这个方法形参是id所以不能通过name属性来判断,下面字符串比较我查到是Ext.equals(ob1,ob2),现在问题是如何判断center面板中间是否已经存在该panel,但是不能通过getCmp( id )这个方法了
      

  5.   

    我说的加name只是为了标识出你不同的tab而已,可以这样:name:record.data.id,你要获取这个tab项不一定要用id,也可以其他的比如直接遍历tab然后判断name=id值就获取到了。
    字符串比较就直接==比就可以了呀
    你的这个错误一般是用了id,关闭后资源的引用没有被销毁导致重新新增出错,最好你弄个简单的能直接运行的demo来看,不然别人也只能猜测你的问题。
      

  6.   

    我说的加name只是为了标识出你不同的tab而已,可以这样:name:record.data.id,你要获取这个tab项不一定要用id,也可以其他的比如直接遍历tab然后判断name=id值就获取到了。
    字符串比较就直接==比就可以了呀
    你的这个错误一般是用了id,关闭后资源的引用没有被销毁导致重新新增出错,最好你弄个简单的能直接运行的demo来看,不然别人也只能猜测你的问题。
    嗯 我先试试遍历tab
      

  7.   

    我说的加name只是为了标识出你不同的tab而已,可以这样:name:record.data.id,你要获取这个tab项不一定要用id,也可以其他的比如直接遍历tab然后判断name=id值就获取到了。
    字符串比较就直接==比就可以了呀
    你的这个错误一般是用了id,关闭后资源的引用没有被销毁导致重新新增出错,最好你弄个简单的能直接运行的demo来看,不然别人也只能猜测你的问题。
    嗯 我先试试遍历tab
    给你测试了下这里的id没影响,应当是你的“shenhe,kaoqin...”这些引起的,你是不是在var addpanel=function的外面类似这样定义:var shenhe=new Ext.Panel({}); ?   你可以去掉shenhe这些测试是否正常。
      

  8.   

    我说的加name只是为了标识出你不同的tab而已,可以这样:name:record.data.id,你要获取这个tab项不一定要用id,也可以其他的比如直接遍历tab然后判断name=id值就获取到了。
    字符串比较就直接==比就可以了呀
    你的这个错误一般是用了id,关闭后资源的引用没有被销毁导致重新新增出错,最好你弄个简单的能直接运行的demo来看,不然别人也只能猜测你的问题。
    嗯 我先试试遍历tab
    给你测试了下这里的id没影响,应当是你的“shenhe,kaoqin...”这些引起的,你是不是在var addpanel=function的外面类似这样定义:var shenhe=new Ext.Panel({}); ?   你可以去掉shenhe这些测试是否正常。
    去掉items确实可以避免这个错误,但是这个items不能去掉,不然里面的内容怎么呈现
      

  9.   

    var kaoqin = new Ext.grid.Panel({
    var result=new Ext.grid.Panel({
    外部定义 panel里面的内容不可以吗
      

  10.   

    closeAction:'hide',是对window用的,去掉你的id属性或改成name。
    刚刚在网上看到一网友说:不要用items
    这样 每次都定义一个id.
    这个不好 用new 一个对象, 或者 <ifram html> 显示一个已存在的。
    他说的new 对象和 <ifram html>我该怎么改
      

  11.   

    你这样定义在外部当你的tab关闭时候kaoqin的实际内容已经销户,但ext中的缓存却还在。在你第二次新建tab时候这个其实没有时间的dom就报错了。你可以不用提前new的形式,这样:
    var tab4 = tabPanel.add(
                                    {
                                        id:record.data.id,
                                        title: record.data.text,
                                     
                                        closable:true,
                                        items:[{
    xtype:'panel',//这里是3.*版本的写法,你用的不是3.*版本的吧
    //其他配置项
    }
    //或者new Ext.grid.Panel({})
    ]