角表和垫子表-如何制作动态columnDef

时间:2018-07-30 00:53:28

标签: angular angular-material

这适用于角形材料:

columns = [];
displayedColumns:any

ngOnInit() {


 this.columns = [
            { columnDef: 'id',    header: 'ID',       cell: (row) => `${row.id}`        },
            { columnDef: 'City',  header: 'City',     cell: (row) => `${row.City}`      }
          ];

 }

我正尝试使列动态化,如下所示:

  let temp = ['id','City'];

  for (let i = 0; i < temp.length; i++) { 

    var tt = { columnDef: `${temp[i]}`,    header: `${temp[i]}`,  cell: (row) => `row.${temp[i]}`}
    this.columns.push(tt)
  }

现在我没有任何错误,但是所有单元格都具有以下值:

 row.id row.City
 row.id row.City
 row.id row.City
 ...

那么我该如何处理以下内容的动态插补:

  cell: (row) => `row.${temp[i]}`

columnDef和标题似乎很好。

我也尝试过:

`${row.`${temp[i]}`}`

但是我在嵌套的$下方有一条红色的波浪线:

 [ts] Identifier expected.

谢谢

我通过以下方法解决了问题:

let ff = `row.${temp[i]}`

var tt = { columnDef: `${temp[i]}`,    header: `${temp[i]}`,  cell: (row) => eval(ff)   }

如果有帮助,请保留此提示,但如果有更好的方法,请告知

0 个答案:

没有答案