删除ExtJs面板的折叠按钮,它是浮动动画

时间:2013-09-11 07:30:30

标签: extjs extjs4

在使用ExtJs边框布局时,我希望我的东面板可以扩展和放大只能通过单击面板的标题来折叠,即使用浮动特征。我的疑问是:

  • 如何删除折叠按钮?
  • 如何删除浮动动画? (animCollapse属性似乎 只在崩溃和工作中工作展开对崩溃执行的操作 按钮)

2 个答案:

答案 0 :(得分:3)

Ext.require(['*']);

Ext.onReady(function() {

    new Ext.container.Viewport({
        layout: 'border',
        items: [{
            region: 'west',
            collapsed: true,
            hideCollapseTool: true,
            floatable: true,
            width: 200,
            title: 'Foo'
        }, {
            region: 'center'
        }]
    });

});

答案 1 :(得分:2)

在ExtJS 4.1.2之前,无法禁用浮动面板的动画。 现在,如果animCollapse设置为0,则将禁用动画。

重要!!! animCollapse属性可以设置为true,false或动画持续时间(以毫秒为单位)。但是,如果设置为false,它仍将使用默认动画时间。它必须设置为0.我相信这是一个错误,它尚未在4.2.2

中修复

如果要禁用动画,但无法将项目更新为ExtJS 4.1.2或更高版本,请将持续时间添加到floatCollapsedPanel中的slideIn调用和Ext.panel.Panel源代码中slideOutFloatedPanel中的slideOut调用

...
me.el.slideIn(slideDirection, {
    preserveScroll: true,
    duration: Ext.Number.from(me.animCollapse, Ext.fx.Anim.prototype.duration),
    listeners: {
        afteranimate: function() {
            me.isSliding = false;
        }
    }
});
...

...
compEl.slideOut(collapseDirection, {
    preserveScroll: true,
    duration: Ext.Number.from(me.animCollapse, Ext.fx.Anim.prototype.duration),
    listeners: {
        afteranimate: function() {
            me.slideOutFloatedPanelEnd();
            // this would be in slideOutFloatedPanelEnd except that the only other
            // caller removes this cls later
            me.el.removeCls(Ext.baseCSSPrefix + 'border-region-slide-in');
            me.isSliding = false;
        }
    }
});
...

请参阅Ext.panel.Panel的4.1.2源代码:http://docs.sencha.com/extjs/4.1.2/source/Panel5.html#Ext-panel-Panel