为什么 ExtJS 4.2.1 手风琴布局的第一个面板永远不会关闭?

2024-06-27

我有一个带有三个面板的 ExtJS 4.2.1 手风琴布局。

当应用程序首次启动时,第一个面板打开,第二个/第三个面板关闭。

我可以打开和关闭第二个和第三个面板,但我永远无法关闭第一个面板。

Ext.define('MyAccordion', {
    extend: 'Ext.container.Container',
    alias: 'widget.myAccordion',
    padding: 0,
    margin: 0,
    width: 200,    

    layout: {
        type: 'accordion',
        align: 'stretch',
        animate: true,
        hideCollapseTool: true
    },


    items: [{
        xtype: 'panel',
        title: 'Test Volumes',
        layout: {
            type: 'vbox',
            align: 'stretch'
        },
        items: [{
            xtype: 'label',
            text: 'volume one'
        },{
            xtype: 'label',
            text: 'volume two'
        },{
            xtype: 'label',
            text: 'volume three'
        }]
    }, {
        xtype: 'panel',
        title: 'Production Volumes',
        layout: {
            type: 'vbox',
            align: 'stretch'
        },
        items: [{
            xtype: 'label',
            text: 'volume one'
        },{
            xtype: 'label',
            text: 'volume two'
        },{
            xtype: 'label',
            text: 'volume three'
        }]
    }, {
        xtype: 'panel',
        title: 'Extra Volumes',
        layout: {
            type: 'vbox',
            align: 'stretch'
        },
        items: [{
            xtype: 'label',
            text: 'volume one'
        },{
            xtype: 'label',
            text: 'volume two'
        },{
            xtype: 'label',
            text: 'volume three'
        }]
    }]
});

在以下来自 4.2.1 示例布局浏览器示例的代码中,如果启动应用程序后所做的第一件事是单击第一个标头,则它会关闭,但随后重新打开它,并且它永远不会再次关闭:

Ext.onReady(function() {
    Ext.create('Ext.container.Viewport', {
        renderTo: Ext.getBody(),
        items: [{
            xtype: 'panel',
            title: 'Accordion Layout',
            layout: 'accordion',
            defaults: {bodyStyle: 'padding:15px'},
            items: [{
                title: 'Introduction',
                tools: [{type:'gear'},{type:'refresh'}],
                html: '<p>Here is some accordion content.  Click on one of the other bars below for more.</p>'
            },{
                title: 'Basic Content',
                html: '<br /><br /><p>More content.  Open the third panel for a customized look and feel example.</p>',
                items: {
                    xtype: 'button',
                    text: 'Show Next Panel',
                    handler: function(){
                        Ext.getCmp('acc-custom').expand(true);
                    }
                }
            },{
                id: 'acc-custom',
                title: 'Custom Panel Look and Feel',
                cls: 'custom-accordion', // look in layout-browser.css to see the CSS rules for this class
                html: '<p>Here is an example of how easy it is to completely customize the look and feel of an individual panel simply by adding a CSS class in the config.</p>'
            }]
        }]
    });
});

更奇怪的是,如果我确实显示折叠/展开工具,第一个面板的工具就会停止工作。


令人惊奇但却是事实,但发生这种情况是因为手风琴布局容器没有设置高度。

因为我不能有固定的高度,所以这解决了问题:flex: 1

但这看起来真的很奇怪,因为为什么高度(或弯曲等)不应该破坏第一个容器的关闭?只是看起来很奇怪。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 ExtJS 4.2.1 手风琴布局的第一个面板永远不会关闭? 的相关文章

  • 如何在extjs中动态设置url和root

    有人能告诉我如何在 Ext JS 中动态设置商店的 url 和 root 吗 我创建了一家像下面这样的商店 我需要更新根并动态设置控制器内的 url Ext define Test store TestStore extend Ext da
  • 单击父节点时检查树的子节点 [ExtJS]

    我想知道如何在单击 ExtJs 中的特定节点时检查树的同级节点 我已经给了每个节点的 id 我可以访问单击的节点的 id 那么我如何继续自动检查子节点 有人请帮助我 or any other way of getting hands on
  • Sencha Cmd v4.0.2.67 创建后台进程失败

    我有一个使用 Sencha Command v4 0 2 67 生成的单页 ExtJS 应用程序 我正在尝试使用 Sencha Command v4 0 2 67 和以下命令进行构建 sencha app refresh sencha ap
  • 在 Ext JS 构造函数中将项目推入数组会产生多个项目

    我有一个我定义的 Ext JS 类 在这个班级的constructor 我将一个文本字段推送到我的项目数组上 然后添加到我的测试字符串中 数组和字符串在类定义中都声明为空 但是 如果您尝试创建多个类实例 您将看到项目数组在每个实例之间共享
  • 一旦组件被销毁,在 initComponent 函数中创建的存储是否会发生内存泄漏,或者这些存储是否会被垃圾收集?

    这是从另一个问题中衍生出来的一个问题 在 ExtJS 4 中具有相同视图并多次存储的最佳实践 https stackoverflow com questions 27333787 best practice to have the same
  • 如何创建适用于 iPhone、iPad 和 Android 的 Extjs 应用程序?

    有人成功创建了适用于 iPhone iPad 和 Android 的 Extjs 应用程序吗 我知道 Sencha 不支持移动设备上的 Extjs 但我不想创建另一个仅针对移动设备的网站 我不需要奇特的移动界面 只需要基本的功能 我做了一些
  • 无法加载所需框架:extjs 中的 ext@null

    设置 extjs 和 sencha 当我运行应用程序时出现错误无法加载所需的框架 root samuel pc Documents code test sencha app watch Sencha Cmd v6 5 0 180 ERR U
  • ExtJS4:从 Ext.Application 访问全局变量

    我想加载一些应用程序特定的设置 并在加载应用程序时将它们保存为全局变量 我找到了如何创建和访问全局变量here https stackoverflow com questions 11615277 setting and accessing
  • ExtJS GridPanel 中的垂直滚动条

    我正在开发一个项目 其中页面上有一个 GridPanel 该面板可以显示任意数量的行 并且我设置了 autoHeight 属性 这会导致 GridPanel 扩展以适合行数 我现在想要一个水平滚动条 因为在某些分辨率下 并非所有列都会显示
  • NGINX 和 Spark Java 之间的跨源通信

    我正在将 NGINX 和 Sparkjava 用于我的 Web 应用程序 我确信我已正确启用所有 CORS 标头 尽管如此 我还是得到了 XMLHttpRequest 无法加载http localhost 3003 platformAPI
  • 当我尝试使用 jasmine 进行测试时,应用程序文件夹未在 Ext.appliation 中加载

    我正在尝试在我的应用程序 Ext js 5 中实现茉莉花以进行单元测试 为此 我创建了应用程序测试文件 Ext require Ext app Application Ext Loader setConfig enabled true Ex
  • 选择月份或年份时,ExtJS 5 xtype 日期字段不起作用

    当单击下拉菜单选择个别月份 年份时 对话框消失 就像我试图单击一样 fiddle https fiddle sencha com fiddle 9m6 https fiddle sencha com fiddle 9m6 Ext onRea
  • ExtJS:简单表单忽略 formBind

    我有一个小问题让我发疯了好几天 我有一个表单面板 Ext define EC view PasswordPanel extend Ext form Panel alias widget pwdpanel bodyPadding 15 ini
  • ExtJs4 Json TreeStore?

    我正在将 ExtJs3 应用程序迁移到 ExtJs4 在 ExtJs3 中 我有一个树网格 它有一个加载器来加载树数据 如下所示 loader new Ext tree TreeLoader dataUrl Department Depar
  • 如何从视图中获取应用程序?

    如何从视图中获取我的应用程序 例如 考虑我有一个应用程序Boo有一个名为Boo view Foo List我想要得到Boo在视图中List Edit 查看这段代码 并查看第 20 行 Ext define Boo view Foo List
  • 如何在 EXTJS 中使用全局函数/实用类

    我的代码结构如下 gt MyApp gt 应用程序 gt 控制器 模型 存储 共享 util gt Utility js 视图 我创建了以下实用程序类 Ext define MyApp shared util Utilities myFun
  • Sencha Touch 2 中的动画尺寸

    我正在尝试对数据视图的高度进行动画处理 但它目前只是在视口周围滑动面板 而不是将其保持在适当的位置并更改其高度 代码如下 Ext Anim run el slide from height height to height newHeigh
  • 在 Ajax 类型的 Extjs 5 存储上进行本地分页

    我正在开发一个应用程序 从一开始就加载所有数据并不是很不方便 我通过 Ajax 从服务器获取 json 数据 而我的商店执行此操作非常简单 Ext define MODIFE store CentroBeneficio extend Ext
  • jQuery UI:将可排序从手风琴内部拖动到外部

    我有两个相连的可排序列表 一个只是在页面上 另一个在手风琴内 我使用手风琴作为其他列表的容器 我的目标是用户可以打开手风琴并将项目从该列表中拉到页面上 它有效 除了占位符在离开手风琴时消失 我尝试过 helper clone 并增加 zIn
  • 如何在ExtJs商店中使用过滤器?

    我使用 ExtJs 创建了一个商店 我想将商店的值加载到 ComboBox 但在加载值之前 我需要根据另一个组合框中选择的值过滤一些数据 因此 为了这个目的 我认为我需要在商店应用过滤器 请任何人都可以帮助我如何做到这一点 Model Ex

随机推荐