需求是我点击某个“删除”按钮,那么相应的一块教育经历就被删除了,当剩下最后一块的时候,“删除”按钮隐藏。Ext JS

解决方案 »

  1.   

    调用remove方法删除item,然后调用dolayout刷新视图
      

  2.   

    Ext.onReady(function(){  
      Ext.BLANK_IMAGE_URL = '/images/s.gif';  
      //Ext.chart.Chart.CHART_URL = '/js/extjs/3.0/resources/charts.swf';  
      Ext.QuickTips.init();  
      var p2 = new Ext.Panel({  
        autoShow: true, html:'zzz',title:'zzz',id:'zzz'  
      })  
      var p = new Ext.Panel({  
        title:'Test',  
        height:300,  
        width:600,  
        renderTo:Ext.getBody(),  
        layout:'accordion',   
        layoutConfig:{  
                animate:false,  
                activeOnTop: false,  
                fill:true  
            },   
        items:[  
         {xtype:'panel',html:'xxx',title:'xxx'},  
         {xtype:'panel',html:'yyy',title:'yyy'}  
        ],  
        buttons:[  
         {  
          text:'add',  
          handler:function(){  
            p.add(p2);  
            p.doLayout();  
          }  
         },{  
          text:'remove',  
          handler:function(){  
            p.remove(p2,false);  
            p.doLayout();  
          }  
         }  
        ]  
      })  
    }); 
    参考下。
      

  3.   


    Ext.onReady(function(){
    var panel = new Ext.Panel({
    ...
    items:[{
    title:'item1',
    id:'_item1'
    },{
    title:'item2'
    }{
    title:'item3'
    }{
    title:'item4'
    }{
    title:'item5'
    }],
    buttons:[
    {
    text:'delete',
    handler:function(){
    panel.remove(Ext.getCmp('你要删除的panel的ID'));
    if(panel.items.length===1){
    this.disable();
    }
    if(panel.items.length>1){
    this.enable();
    }
    panel.doLayout();
    }
    }
    ]
    })
    })
      

  4.   

    已经解决,谢谢大家
    我的方法还是:this.ownerCt.ownerCt.destroy();