javascript - ExtJS Portal 布局问题(内部元素的自动高度/宽度)

标签 javascript extjs extjs4

我正在使用http://dev.sencha.com/deploy/ext-4.0.7-gpl/examples/portal/portal.html建立一个门户。显然,我内部有自定义窗口,可以按照提供的链接调整其高度/宽度。在其中一个窗口中,我有一个图表和一个网格,我想将它们并排放置在一行中。但这种方法要求我提供图表的高度/宽度。如果我这样做,如果我像示例中那样使用父容器的高度和宽度,图表不会调整其高度/宽度。请指导我如何实现这一点。我我正在使用 hbox 布局并进行拉伸(stretch)。请找到下面的代码。

  Ext.apply(this,{layout: {
        type: 'hbox',
        align: 'stretch'
    }
  ,      width:600,height:300,items:
     [



    {
      xtype: 'chart',
        animate: true,
        shadow: true,
        height:200,
        width:200,
        store: Ext.create('Ext.data.JsonStore', {
    fields: ['year', 'comedy', 'action', 'drama', 'thriller'],
    data: [
            {year: 2005,  action: 23890000},
            {year: 2006,  action: 38900000},
            {year: 2007,  action: 50410000},
            {year: 2008,  action: 70000000}
          ]
          }),
        legend: {
            position: 'right'
        },
        axes: [{
            type: 'Category',
            position: 'bottom',
            fields: ['action'],

        }, {
            type: 'Numeric',
            position: 'left',
            fields: ['year'],
            title: false
        }],
        series: [{
            type: 'bar',
            axis: 'top',
            gutter: 80,
            xField: 'year',
            yField: ['action'],
            tips: {

            }
        }]





          },{xtype:'grid',
    collapsible:false,store: Ext.create('Ext.data.ArrayStore', {
       fields: [
       {name: 'company'},
       {name: 'price',      type: 'float'},
       {name: 'change',     type: 'float'}
      ],
       data: myData
     }), multiSelect: true,viewConfig: {emptyText: 'No information to display'},
       columns: [{
            text     : 'Company',
            flex     : 1,
            sortable : false,
            dataIndex: 'company'
        },
        {
            text     : 'Price',
            width    : 75,
            sortable : true,
            renderer : 'usMoney',
            dataIndex: 'price'
        }]
           }]


        });

最佳答案

您不必在图表或网格上添加宽度/高度。只需为每个值添加一个“flex”值,例如 flex: 1 即可使它们在 hbox 容器中具有相同的宽度。

关于javascript - ExtJS Portal 布局问题(内部元素的自动高度/宽度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804955/

相关文章:

JavaScript 将缓冲区中的十六进制字符串与 Python 进行比较

使用全局声明存储的 ExtJS5 ViewModel

extjs - 选中复选框时显示组合框 - Extjs

javascript - 如何使用javascript检测图像内图标的宽度?

javascript - 如何使用jquery在子菜单下动态添加子菜单?

javascript - ExtJS 窗口中的动态内容

javascript - 尝试扩展 ExtJs ComboBox 时出错 - "Cannot read property ' dom' of null”?

extjs - Ext.js 的测试和文档?

extjs4 - 当我在日期字段中按下时,如何忽略日期选择器

JavaScript - 检查字符串是否包含数组中彼此相邻的两个字符串并在其间插入字符串