【问题标题】:angular return date to formControl MatDatePicker in DD-MM-YYYY format以 DD-MM-YYYY 格式向 formControl MatDatePicker 的角度返回日期
【发布时间】:2019-07-12 14:52:17
【问题描述】:

我怎样才能正确地将日期带到formControl

当尝试通过setValue 设置日期时,它不再以相同的格式显示。

我希望日期以DD-MM-YYYY的格式出现,和我引入的一样,但是通过代码返回时,组件只接受MM-DD-YYYY

我已经尝试通过代码用MM反转DD并返回,但仍然没有做任何事情。

HTML

<input matInput [matDatepicker]="picker4" placeholder="Data prevista pagamento" formControlName="dataPrevistaPagto">
<mat-datepicker-toggle matSuffix [for]="picker4"></mat-datepicker-toggle>
<mat-datepicker #picker4></mat-datepicker>

我这样输入日期:

TS

ModelEdit.dataPrevistaPagto = this.setDate(this.form.get('dataPrevistaPagto').value);

setDate(dataString: string){
  var today = new Date(dataString);
  var dd = String(today.getDate()).padStart(2, '0');
  var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
  var yyyy = today.getFullYear();

  var dataa = dd + '/' + mm + '/' + yyyy;
  return dataa;
}

我这样设置日期:

this.form.get('dataPrevistaPagto').setValue( moment(new Date(this.setDateInverse(this.ModelEdit.dataPrevistaPagto))));

【问题讨论】:

    标签: angular datepicker angular-material formgroups


    【解决方案1】:

    您可以尝试使用Angular Date Pipe 来实现它 已有Stackblitz Demo 供您参考。

    只需将当前格式从 Stackblitz yyyy-MM-dd 更改为您想要的格式 dd-MM-yyyy 或其他类似的格式 Angular Date Pipe Documentation

    @Component({
      ..., 
      providers: [ DatePipe ]    // Import DatePipe from "@angular/core"
    })
    export class AppComponent implements OnInit  {
    
      currentDate: any = new Date();
    
      constructor(private datePipe: DatePipe) {}
    
      ngOnInit(): void {
        // You can use whatever format you like
        // see https://angular.io/api/common/DatePipe#pre-defined-format-options
        this.currentDate = this.datePipe.transform(this.currentDate, 'dd-MM-yyyy');
    
      }
    
    }
    

    【讨论】:

    • 但我可以通过管道传输我的 matdatepicker?如果是输入文本,我将能够正常返回,问题出在我找不到方法的 matDatePicker 上
    • 我明白了。我将日期值保存为字符串。我改变了它,并以它来自 datePicker 的方式保存它。我用了你推荐的管子放在我的桌子上。谢谢!
    • 嗨佩德罗,很抱歉回复晚了。我很高兴它奏效了!非常感谢:)
    猜你喜欢
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 2019-01-03
    • 1970-01-01
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    相关资源
    最近更新 更多