在Angular中,可以使用DatePipe来将字段的值从'-'转换为日期。下面是一个示例解决方法:
首先,确保在组件文件中导入DatePipe:
import { DatePipe } from '@angular/common';
然后,在组件的构造函数中注入DatePipe:
constructor(private datePipe: DatePipe) { }
接下来,创建一个方法来转换字段的值为日期:
convertToDateFormat(value: string): string {
  if (value === '-') {
    return '-';
  } else {
    const date = new Date(value);
    return this.datePipe.transform(date, 'yyyy-MM-dd');
  }
}
在这个方法中,首先检查字段的值是否为'-'。如果是,直接返回'-'。否则,将字段的值转换为日期对象,并使用DatePipe将日期格式化为'yyyy-MM-dd'格式。
最后,在导出CSV的方法中,调用convertToDateFormat来转换字段的值为日期:
exportToCsv() {
  const data = [
    { name: 'John', dateOfBirth: '-' },
    { name: 'Jane', dateOfBirth: '1990-01-01' }
  ];
  const csvData = data.map((item) => {
    return {
      name: item.name,
      dateOfBirth: this.convertToDateFormat(item.dateOfBirth)
    };
  });
  // 导出CSV的逻辑
}
在这个示例中,data是一个包含名称和出生日期字段的数组。在map函数中,调用convertToDateFormat来转换字段的值为日期。然后,将转换后的数据导出为CSV的逻辑。
请注意,这只是一个示例解决方法,你可能需要根据你的具体需求进行调整。