动态更改 ExtJS 6 仪表板中的列宽
Dynamically change column widths in ExtJS 6 dashboards
有没有办法在 Ext.dashboard.Dashboard
呈现后更改列宽?它是使用以下配置值创建的:
columnWidths: [
0.35,
0.40,
0.25
]
我想动态改成:
columnWidths: [
0.5,
0.25,
0.25
]
直接更改 columnWidths
属性 或使用 setConfig
不会更新仪表板。它似乎没有用于 "refresh" 的方法或任何其他明显用于相同目的的方法。各个仪表板列具有 setWidth
功能,但似乎也没有任何作用。
我在 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();
}
有没有办法在 Ext.dashboard.Dashboard
呈现后更改列宽?它是使用以下配置值创建的:
columnWidths: [
0.35,
0.40,
0.25
]
我想动态改成:
columnWidths: [
0.5,
0.25,
0.25
]
直接更改 columnWidths
属性 或使用 setConfig
不会更新仪表板。它似乎没有用于 "refresh" 的方法或任何其他明显用于相同目的的方法。各个仪表板列具有 setWidth
功能,但似乎也没有任何作用。
我在 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();
}