ExtJs6布局 -- Accordion布局

1、首先说一下Accordion布局:就是俗称的手风琴布局,每一个item都是一个panel,看截图:

            082025_DTsc_2300623.png

  2、需求:如上解图中,我们点击next按钮就展开下一个panel。如是首先我们需要获取到当前展开的时哪个panel,才能展开下一个panel。

         在观察中发现,当panel被展开时,它的 collapsed 属性为 false ,故需求就可实现了。

看代码:

Ext.onReady(function(){
    Ext.create('Ext.panel.Panel', {
    // title: 'Accordion Layout',
    width: 300,
    height: 350,
    defaults: {
        bodyStyle: 'padding:15px'
    },
    layout:{
        type:'form'
    },
    items: [{
        xtype:'label',
        html:'Hello World'
    },{
        xtype:'container',
        layout:{
            type: 'accordion',
            titleCollapse: true,
            animate: true,
            collapseFirst :true,
            reserveScrollbar : true,
            fill : true

        },
        defaults:{
            itemCls:true,
            style:'margin-bottom:5px;'
        },
        padding:'15 0 10 15',
        width:300,
        height:300,
        id:'democon',
        items:[{
                title: 'Panel 1',
                id:'1',
                autoScroll :true,
                layout:{
                    type: 'form'
                },
                listeners :{

                },
                items:[{
                    xtype:'container',
                    items:[{
                        xtype:'checkbox',
                        boxLabel :'Helo ,what can i help you ?'
                    },{
                        xtype:'textfield',
                        fieldLabel:'Hello My Text Label?',
                        labelWidth:150,
                        labelSeparator :''
                    },{
                        xtype:'textfield',
                        fieldLabel:'Hello My Text Label?',
                        labelWidth:150,
                        labelSeparator :''
                    },{
                        xtype:'textfield',
                        fieldLabel:'Hello My Text Label?',
                        labelWidth:150,
                        labelSeparator :''
                    },{
                        xtype:'checkbox',
                        boxLabel :' what can i do for you ?'
                    },{
                        xtype:'checkbox',
                        boxLabel :'Helo ,what can i help you ?'
                    }]
                }]
            },{
                id:'2',
                title: 'Panel 2',
                html: 'Panel content!'
            },{
                id:'3',
                title: 'Panel 3',
                html: 'Panel content!'
            }]
    }],
    buttons:[{
      text:'',
      iconCls:'next',
      handler:function(){
        var items = Ext.getCmp('democon').items;
        var items0 = items.items[0];
        for (var i = 0; i <items.length; i++) {
            if(!items.items[i].collapsed){
                if(i==(items.length-1)){
                    items0.expand();
                    break;
                }else{
                    items.items[i+1].expand();
                    break; 
                }
                  
            }
        };
      }
    }],
    renderTo: Ext.getBody()
    });
});






转载于:https://my.oschina.net/mercyyang/blog/633192

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值