0

我收到来自后端的响应LastDate。我将此绑定到我的ngModel并在网格中显示,但在控制台中我收到此错误

在此处输入图像描述

这是对应的代码

<ngx-datatable-column name="Last Date" prop="LastDate">
  <ng-template let-row="row" ngx-datatable-cell-template>
    {{row.LastDate| date: 'dd-MM-yyyy'}}
  </ng-template>
</ngx-datatable-column>
4

1 回答 1

1

Javascript 会错误地解释日期 ( String) 。"14-05-2021"它接受格式为“MM-DD-YYYY”的日期,而您的输入格式为“DD-MM-YYYY”。快速解决方法是在将字符串发送到date管道之前重新格式化字符串。

控制器 (*.ts)

backendFetch().subscribe({
  next: (res: any) => {
    const s = res.LastDate.split("-");
    this.row = {
      ...res,
      LastDate: `${s[1]}-${s[0]}-${s[2]}`;
    }
  },
  error: (error: any) => { }
);

这样,对象的LastDate属性就row被调整为预期的格式“MM-DD-YYYY”。

显然,使用Array#split. 我确信其他人可以提出更好的解决方案(例如使用 RegEx)。

于 2021-05-14T10:26:19.467 回答