首页 > 解决方案 > 默认定义 columnDefs

问题描述

我想默认使用 rowData 中的所有数据,我不想使用特定值。您知道如何统一两个示例的 columnDefs 吗?

第一个例子:

columnDefs = [
    {headerName: 'make', field: 'make' },
    {headerName: 'model', field: 'model' },
    {headerName: 'price', field: 'price'}
];

rowData = [
    { make: 'Toyota', model: 'Celica', price: 35000 },
    { make: 'Ford', model: 'Mondeo', price: 32000 },
    { make: 'Porsche', model: 'Boxter', price: 72000 }
];

第二个例子:

columnDefs = [
    {headerName: 'name', field: 'name' },
    {headerName: 'phone', field: 'phone' },
];

rowData = [
    { name: 'Manuel', phone: 35000 },
    { name: 'Maria', phone: 32000 },
    { name: 'John', phone: 72000 }
];

标签: ag-grid

解决方案


我有一个想法,但不知道它是否更优雅。

var columnDefs = [
  { headerName: "make", field: "make" },
  { headerName: "model", field: "model" },
  { headerName: "price", field: "price" }
];

var rowData = [
  { make: "Toyota", model: "Celica", price: 35000 },
  { make: "Ford", model: "Mondeo", price: 32000 },
  { make: "Porsche", model: "Boxter", price: 72000 }
];

 genColums() {
  let columsDef = [];
  for (var prop in rowData[0]) {
    columsDef.push({
      headerName: prop,
      field: prop
    });
  }
  console.log(columsDef);
}

this.genColums();

PS。这项工作,如果所有数据相同,在每个对象中


推荐阅读