Basdatefiker 将 Mindade 设置为永恒

bsDatepicker set minDate for endDate

我正在尝试将 endDate 输入 minDate 设置为 startDates + 1 天值。 我做错了什么?

stackblitz

.ts

this.minendDate.setDate(this.minendDate.getDate() + 1);
this.maxendDate.setDate(this.maxendDate.getDate() + 365);
this.form.get('startDate').valueChanges.subscribe((value) => {
  console.log(value);
  this.minendDate.setDate(value + 1);
});

.html

      <input formControlName="startDate"
        [minDate]="minstartDate"
        [maxDate]="maxstartDate"
        bsDatepicker
        #dp="bsDatepicker"
        autocomplete="off"
        [bsConfig]="{ adaptivePosition: true }"  />

      <input
        formControlName="endDate"
        [minDate]="minendDate"
        [maxDate]="maxendDate"
        bsDatepicker
        #dp="bsDatepicker"
        autocomplete="off"
        [bsConfig]="{ adaptivePosition: true }" />

您可以使用 bsValueChange 进行设置。试试下面的方法,希望对你有用。

   this.minendDate.setDate(this.minendDate.getDate() + 1);
   this.maxendDate.setDate(this.maxendDate.getDate() + 365);

   changeStartDate(value){
        var nextDay = new Date(value);
        nextDay.setDate(nextDay.getDate() + 1);
        this.minendDate = nextDay;
   }

html

<input formControlName="startDate"
    [minDate]="minstartDate"
    [maxDate]="maxstartDate"
    bsDatepicker
    #dp="bsDatepicker"
    autocomplete="off"
    [bsConfig]="{ adaptivePosition: true }"
    (bsValueChange)= "changeStartDate($event)"
     />

  <input
    formControlName="endDate"
    [minDate]="minendDate"
    [maxDate]="maxendDate"
    bsDatepicker
    #dp="bsDatepicker"
    autocomplete="off"
    [bsConfig]="{ adaptivePosition: true }" />