【问题标题】:Need to change default date when not selecting a date in matdatepicker未在 matdatepicker 中选择日期时需要更改默认日期
【发布时间】:2018-01-30 07:41:11
【问题描述】:

当我没有在 matdatepicker (angular2) 中选择日期时,它会将默认值设为“01/01/1970”,而我需要将“null”传递给该方法。我可以以某种方式更改默认值吗?

我使用的代码如下:

HTML:

<div class="div1">
   <form (ngSubmit)="getEventsByDateRange(f)" #f="ngForm" >
     <label style="float:left;padding:7px;"> From : </label>
      <mat-form-field style="float:left;padding:7px;">
        <input type="date" matInput [matDatepicker]="picker1" placeholder="Choose a date" name="fromDate" 
        [(ngModel)]="eventobj.fromDate" #eventDate="ngModel"  required>
        <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>
        <mat-datepicker #picker1></mat-datepicker>
      </mat-form-field>
      <label style="float:left;padding:7px;"> To : </label>
      <mat-form-field style="float:left;padding:7px;">
        <input type="date" matInput [matDatepicker]="picker2" placeholder="Choose a date" name="toDate" 
        [(ngModel)]="eventobj.toDate" #eventDate="ngModel"  required>
        <mat-datepicker-toggle matSuffix [for]="picker2"></mat-datepicker-toggle>
        <mat-datepicker #picker2></mat-datepicker>
      </mat-form-field>
      <button mat-raised-button class="btn btn-info btn-sm"> Submit </button>
   </form>
</div>

TS:

eventobj = {
fromDate: "Date",
toDate: "Date",
}

 getJobsByDateRange() {
    let fromDate1=new Date(this.eventobj.fromDate)
    let toDate1=new Date(this.eventobj.toDate)

    alert("from :: "+fromDate1+" to :: "+toDate1)
 }

如果我直接单击提交按钮,则会显示警报消息:

从 :: Thu Jan 01 1970 05:30:00 GMT+0530(印度标准时间)到 :: Thu Jan 01 05:30:00 GMT+0530(印度标准时间)

【问题讨论】:

    标签: html angular angular-material2


    【解决方案1】:
    eventobj = {
      fromDate: "Date",
      toDate: "Date",
    }
    

    在这里,您声明字符串。但是你使用日期...

    无论如何,这意味着当你这样做时

    let fromDate1=new Date(this.eventobj.fromDate)
    let toDate1=new Date(this.eventobj.toDate)
    

    您实际上将字符串(即Date)转换为实际日期。你很幸运你有一个约会对象!

    用这个替换所有这些:

    defaultDate = Date.now();
    
    eventobj = {
      fromDate: new Date(this.defaultDate - 1000 * 60 * 60 * 24 * 7), // One week
      toDate: new Date(this.defaultDate),
    }
    
    getJobsByDateRange() {
      let fromDate1 = this.eventobj.fromDate;
      let toDate1 = this.eventobj.toDate;
      alert("from :: "+fromDate1+" to :: "+toDate1)
    }
    

    【讨论】:

    • 当我刷新页面时,它会保留该值。刷新后如何让它空白?
    • 我不知道,它不应该保留值...您是将值存储在本地存储中还是在数据库中?
    • 我将其存储在局部变量中
    猜你喜欢
    • 1970-01-01
    • 2021-03-14
    • 2011-10-02
    • 2020-10-01
    • 2011-04-19
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多