【发布时间】:2021-02-03 18:03:32
【问题描述】:
根据 ag-grid,列顺序将遵循它们在列定义中指定的顺序。 Reference
但这在使用 ag-grid-angular 时不起作用。一些列首先显示,即使它们是在列定义的末尾指定的。看看一些示例代码,
// grid.ts
// helper function to generate a definition of a single column
function generateColDef() {
return { ... };
}
// helper function to dynamically generate ColDefs
export function getColDef(someArgs) {
const someDynamicCols = someArgs.map((arg) => {
return generateColDef(.....);
})
const colDefs = [
slColumn, // A column to show serial number
generateColDef('id', 'ID', {
editable: false,
}),
generateColDef('name', 'Name', {
editable: false,
}),
...someDynamicCols,
];
return colDefs;
}
// html
<ag-grid-angular [columnDefs]="colDefs" [rowData]="rowData | async">
// component
args = { some args fetched from server }
colDefs = grid.getColDef(args);
rowData = { some data fetched from server }
我希望首先显示“ID”和“名称”列,然后显示 someDynamicCols 的其余部分。但 ag-grid 有时会先显示 someDynamicCols,然后显示 'ID' 和 'Name' 列。
我尝试使用 ag-grid API 来设置 colDefs 而不是使用 2-way binding,但结果保持不变。
有人能解释一下可能是什么问题吗?是 ag-grid API 还是我做错了什么?
我正在使用角度为 10 的最新 ag-grid (24.0.0)
【问题讨论】:
-
您能否创建一个小型 plunkr 或 stackblitz 来重现您的问题。它看起来像调试问题..
-
我的用例使构建 plunkr 有点困难。但我会尝试添加一个。感谢您的建议
-
只需尝试添加足以重现问题的最少代码,这将使这里的人们易于调试。
标签: angular ag-grid ag-grid-angular