我无法使用 Angular 中的表格按年份过滤

I can't filter by year with form in Angular

在这个例子中:https://stackblitz.com/edit/angular-ivy-byvfjy?file=src/app/ofertas/filtro-ofertas/filtro-ofertas.component.ts

Y 需要按年份

过滤table

但是当我更改默认选择 (2021) 时,我总是得到同样的错误

oferta.fechaPresentacionFulcrum.getFullYear is not a function

当表单中的任何值发生变化时

this.form.valueChanges
  .subscribe(valores => {
    this.ofertas = this.ofertasOriginal;
    this.buscarOfertas(valores);
    this.escribirParametrosBusquedaEnURL();
  });

 buscarOfertas(valores: any) {
  if (valores.años) {
   this.ofertas = 
  this.ofertas.filter(oferta=>oferta.fechaPresentacionFulcrum.getFullYear()==valores.años);
  }

我只是将类型为date fechaPresentacionFulcrum的字段的年份与选择的值进行比较

有什么想法吗?

谢谢

尝试

this.ofertas.filter(oferta=>new Date(oferta.fechaPresentacionFulcrum).getFullYear()==valores.años);

你可以这样解决

  buscarOfertas(valores: any) {
    if (valores.años) {
      console.log(valores.años);     

      this.ofertas = this.ofertas.filter(oferta=>Number(oferta.fechaPresentacionFulcrum.toString().substring(0, 4))==valores.años);
    }