Как установить дату по умолчанию для простого календаря, когда он выбран - PullRequest
0 голосов
/ 27 июня 2019

Я использую календарь prime-ng и не могу понять, как установить дату по умолчанию при его открытии. Проблема в том, что я знаю, как установить значение по умолчанию для поля формы при открытии страницы, но я хочу, чтобы это поле оставалось пустым. Я хочу, чтобы поле по умолчанию было выбрано только после открытия календаря. Сейчас по умолчанию используется текущая дата и время, и я искал текущую дату, но время всегда начинается в 12 часов. Если это поможет, я использую это вместе с конструктором формы Angular.

Я посмотрел первичную документацию (https://www.primefaces.org/primeng/#/calendar),, но я не могу найти ничего, связанного с этим. Я думаю, что может быть решение с событием onFocus, но это я стреляю в темноте, потому что я не знаю, как с ними работать.

Это мое текущее поле календаря

<fieldset class="form-group">
      <label for="expected-arrival-date">Expected Arrival Date</label><br>
      <p-calendar dateFormat="mm-dd-yy" hideOnDateTimeSelect="true" hourFormat="12" showTime="true" [showIcon]="true" [formControl]="requestForm.controls['expected_arrival_date']" name="expected-arrival-date" id="expected-arrival-date"></p-calendar>
</fieldset>

Я ожидаю, что значение формы изначально будет пустым. Когда календарь открыт, я ожидаю, что по умолчанию будет текущая дата, а по умолчанию - 12 часов вечера.

Ответы [ 2 ]

1 голос
/ 27 июня 2019

Я не могу протестировать приведенный ниже код, потому что премьер-нг не на стеке или ничего подобного, но вы можете попробовать в вашем random.component.ts:

ngOnInit() {
   this.requestForm.get('expected_arrival_date').setValue(new Date());
   // or this.requestForm.get('expected_arrival_date').patchValue(new Date());
}

Редактировать : если вы просто хотите выбрать дату по умолчанию, когда календарь активен, вы можете попробовать свойство defaultDate:

        <p-calendar dateFormat="mm-dd-yy" hideOnDateTimeSelect="true" hourFormat="12" 
    showTime="true" [showIcon]="true" 
[defaultDate]="myDate" [formControl]="requestForm.controls['expected_arrival_date']" 
    name="expected-arrival-date" id="expected-arrival-date"></p-calendar>

в тс, myDate будет примерно таким:

myDate = new Date(); // or whatever
0 голосов
/ 25 июля 2019

Это работает для меня, просто конвертировать, передавая в JavaScript Дата функция.

    postOn:Date=null;
    export class myDate{
    getDAte(){
//"2019-07-31 11:00"
     this.detailannounce.postDateTime="2019-07-31 11:00";
    this.postOn =(this.detailannounce.postDateTime!=null)?(new Date(this.detailannounce.postDateTime)):null;
    }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...