«Значение» должно быть допустимым экземпляром JavaScript Date - PullRequest
0 голосов
/ 27 сентября 2018

Я работаю над asp.net - угловым веб-приложением 5, мне нужно загрузить компонент с пустыми полями для заполнения, некоторые из этих полей - KendoDatePicker (для Angular), мне нужно выбрать, если выбрать (вставить)или нет даты, когда я загружаю компонент Дата не определена, и у меня появляется эта ошибка:

Ошибка: «значение» должно быть допустимым экземпляром даты JavaScript.Проверьте http://www.telerik.com/kendo-angular-ui/components/dateinputs/datepicker/#toc-using-with-json для возможного разрешения.

Теперь, я прочитал документацию и попробую этот отлично работающий пример стекаблица:

import { Component } from '@angular/core';

@Component({
selector: 'my-app',
template: `
    <div class="example-config">
        Selected value is: {{exampleDate| kendoDate:'MM/dd/yyyy'}}
    </div>
    <div class="example-wrapper" style="min-height: 400px">
        <p>Select a date:</p>
        <kendo-datepicker
            [(ngModel)] = "exampleDate"
            placeholder="inserisci una data..."
        ></kendo-datepicker>
    </div>
    `
  })
export class AppComponent {
 public exampleDate: Date;

   constructor()
   {
    //undefined (as I want before the selection, browser consolle does not 
    return error)
    console.log(this.exampleDate);
   }
 }

Это то, что у меня есть в моемproject (component.ts):

DatiGeneraliDocumento_Data: Date;

И component.html

  <div class="alto5">

            <kendo-datepicker
                              [(ngModel)]="_fatturaCorrente.DatiGeneraliDocumento_Data" 
                              name="DataDocumento" style="width:100%;" 
                              placeholder="Inserisci una data...">
              <kendo-datepicker-messages today="OGGI"></kendo-datepicker-messages>
            </kendo-datepicker>

         <div class="cl"></div>
        </div>

Итак, в моем проекте есть вышеупомянутая ошибка, и я хотел бы ее устранить, спасибозаранее.

Ответы [ 3 ]

0 голосов
/ 25 ноября 2018

Я должен был исправить это так ...

if (employeeModel.dateOfBirth != undefined) {
    employeeModel.dateOfBirth = new Date(employeeModel.dateOfBirth);        
}
0 голосов
/ 06 июня 2019

Я столкнулся с той же проблемой в моем приложении.Но когда я удалил набор [(ngModel)] внутри директивы <kendo-datepicker>, он сам себя исправил.

Я использовал обработчик события (onChange) on для обновления выбора даты ngModel.

Пример:

<kendo-datepicker 
    placeholder="YYYY-MM-DD"
    name="exampleDate"
    [format]="'yyyy-MM-dd'"
    (valueChange)="onChange($event)"
    class="form-control"
>
</kendo-datepicker>

onChange(value?: Date): void {
    this.exampleDate= value ? `${this.intl.formatDate(value, 'yyyy-MM-dd')}` : '';
}
0 голосов
/ 27 сентября 2018

Вы пытались использовать безопасный навигатор в своей интерполяции?то есть:

   <div class="example-config">
        Selected value is: {{exampleDate?| kendoDate:'MM/dd/yyyy'}}
    </div>

Я добавил стекаблитц.Я использую сборку Angular в DatePipe, но она должна работать точно так же.

Пример

Вот код для вашего шаблона:

{{(exampleDate? ('Your date' + exampleDate |kendoDate:'MM-dd-yyyy') : '')}}

Вот что я бы добавил в компонент:

exampleDate = new Date(dateVariable);
...