AG Grid 将 valueFormatter 添加到 defaultColDef

问题描述 投票:0回答:1

根据 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。

ag-grid
1个回答
0
投票

试试这个:-

const defaultColDef = {
    editable: false,
    filter: "agTextColumnFilter",
    cellRenderer,
    valueFormatter: valueFormatter, // this gets ignored
  };
© www.soinside.com 2019 - 2024. All rights reserved.