2016-01-20 82 views
2

在呈现Ext.dashboard.Dashboard后,有没有办法更改Ext.dashboard.Dashboard中的列宽?它是用的配置价值创造:动态更改ExtJS 6仪表板中的列宽

columnWidths: [ 
    0.35, 
    0.40, 
    0.25 
] 

我要动态地将其更改为:

columnWidths: [ 
    0.5, 
    0.25, 
    0.25 
] 

直接或setConfig更改columnWidths属性不更新的仪表板。它似乎没有一种“刷新”或其他明显用于相同目的的方法。单独的仪表板列具有setWidth函数,但似乎也没有做任何事情。

+0

在哪你想改变列宽?屏幕大小调整时你想改变吗? –

+0

我的用例实际上是一个带有“将所有列设置为相等宽度”等预设的菜单,因此用户可以快速均衡或对齐所有列和/或小部件。 – Tulvan

回答

1

我找不到自动管理这个API的任何东西,但你可以手动在仪表板更新每个子组件的columnWidth值,然后调用updateLayout

function setColumnWidths(dashboard, columnWidths){ 
    var i = 0; 
    dashboard.items.each(function(item){ 
     if(item instanceof Ext.resizer.Splitter) 
      return; // ignore 
     item.columnWidth = columnWidths[i++] || 1; 
    }); 
    dashboard.updateLayout(); 
} 

» Fiddle