Я использую таблицу primeng в своем приложении angular. Я пытаюсь назначить добавить экспорт файла CSV с текущим временем, когда пользователь экспортирует содержимое таблицы. Однако при первом экспорте имя файла не обновляется со временем. В следующий раз это работает, но к имени файла добавляется предыдущий раз. Я предполагаю, что имя файла экспорта использует более старое имя файла, а не обновленное. Не знаю, почему это происходит. Я вызываю метод setFile, когда я делаю экспорт. Это должно занять обновленное имя файла. Пожалуйста, помогите. Спасибо заранее.
Вот мой код шаблона:
<p-table [columns]="cols" #dt [value]="students" [autoLayout]="true" exportFilename={{testFileName}}>
<ng-template pTemplate="caption">
<div >
<button mat-icon-button type="button" (click)="setFileName();dt.exportCSV()" style="float:right"><mat-icon>save_alt</mat-icon></button>
</div>
</ng-template>
</p-table>
Мой машинопись:
students: any[];
cols: any[];
testFileName = 'SampleFile';
constructor(private studentService: StudentService) { }
ngOnInit() {
this.studentService.getAllStudents().subscribe(data => this.students = data);
this.cols = [
{ field: 'name', header: 'Name' },
{ field: 'rollNo', header: 'RollNo' },
{ field: 'class', header: 'Class' },
];
}
setFileName() {
this.testFileName = 'StudentDetailsExport' + '_' +
new DatePipe('en-US').transform(Date.now(), 'MMM_dd_yyyy_hh_mm_ss', 'UTC') + 'Z';
}