根据 AG Grid Docs,defaultColDef 包含所有列都将继承的属性,默认列可以指定任何 column 属性,其中包括 valueFormatter。
但是当我这样做时...
const valueFormatter = function (params) {
const [suffix, label] = params.value;
return suffix+" "+label;
};
const columnDefs = [];
for (let node of pathNodes) {
columnDefs.push({
field: node.id(),
});
}
const defaultColDef = {
editable: false,
filter: "agTextColumnFilter",
cellRenderer,
valueFormatter, // this gets ignored
};
const gridOptions = {
rowData,
columnDefs,
defaultColDef,
autoSizeStrategy: { type: "fitCellContents" },
};
grid = agGrid.createGrid(gridEle, gridOptions);
...我收到此警告:
AG Grid:单元格数据类型为“对象”,但未提供值格式化程序。请提供带有值格式化程序的对象数据类型定义,或设置“colDef.valueFormatter”
但是,当我从 columnDef 元素中引用 valueFormatter 时,它工作得非常好,如下所示:
for (let node of pathNodes) {
columnDefs.push({
field: node.id(),
valueFormatter,
});
}
AG Grid 包含为
<script src="https://cdn.jsdelivr.net/npm/ag-grid-community/dist/ag-grid-community.min.js"></script>
,目前版本为 v31.1.1。
const defaultColDef = {
editable: false,
filter: "agTextColumnFilter",
cellRenderer,
valueFormatter: valueFormatter, // this gets ignored
};