元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“empdto”

xfb7svmp  于 2021-09-29  发布在  Java
关注(0)|答案(0)|浏览(586)

尝试在我的Angular 代码中写入管道此错误正在发生。。。。管道代码是

import { Pipe, PipeTransform } from '@angular/core';
import { EmpDto } from './emp-dto';

@Pipe({
  name: 'orderby'
})
export class OrderbyPipe implements PipeTransform {
  col!:string;

  transform(emps:EmpDto[], colname:string): EmpDto[] {
    this.col=colname
    emps=emps.sort((e1,e2)=>{if (e1[colname]>= e2[colname]) return 1; else return -1;})
    console.log(emps);
    return emps;
  }

}

empdto代码是

export class EmpDto {
    empId!:number;
    empName!:string;
    empSal!:number;
    empDept!:string;
}

我该怎么办?
行中显示错误

emps=emps.sort((e1,e2)=>{if (e1[colname]>= e2[colname]) return 1; else return -1;});

错误是
元素隐式具有“any”类型,因为“string”类型的表达式不能用于索引类型“empdto”。在类型“empdto”上未找到具有“string”类型参数的索引签名。
12 emps=emps.sort((e1,e2)=>{if(e1[colname]>=e2[colname])返回1;else返回-1;})
关于e1[colname]和e2[colname]
非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题