Поддерживает ли PrimeNg Calendar (p-calendar) привязку к строке в формате ISO 8601? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь привязать строку даты (отформатированную в формате ISO 8601 [например, "2009-02-15T00: 00: 00Z"], которая, по моему мнению, является значением по умолчанию для newtonsoft для https://www.newtonsoft.com/json/help/html/DatesInJSON.htm), дляМодуль календаря PrimeNg.

<p-calendar [(ngModel)]="myISO8601FormattedStringVariable" [showTime]="true"></p-calendar>

На этой странице (https://github.com/primefaces/primeng/issues/1895)) календарь PrimeNg поддерживает строковые входы ISO 8601, но я постоянно получаю сообщение об ошибке. Ошибка «Uncaught (in обещание)»:Неожиданный литерал в позиции 2 в resolPromise ". Я видел эту ошибку в других вопросах переполнения стека, которые ссылаются на установку свойства" dataType "равным" string ", но, похоже, это формат вывода, а не формат ввода.

Когда я смотрю на исходный код, связанный с фиксацией (https://github.com/primefaces/primeng/commit/ecd3b04ef913c123c787118c5474ecb75437dd2d),, похоже, что части даты и времени разделяются на основе "", а не "T", чего я больше ожидал.

parseValueFromString(text: string): Date {
    let dateValue;
    let parts: string[] = text.split(' ');

    if(this.timeOnly) {
        dateValue = new Date();
        this.populateTime(dateValue, parts[0], parts[1]);
    }
    else {
        if(this.showTime) {
            dateValue = this.parseDate(parts[0], this.dateFormat);
            this.populateTime(dateValue, parts[1], parts[2]);
        }
        else {
             dateValue = this.parseDate(text, this.dateFormat);
        }
    }

    return dateValue;
}

Не понимаю ли я, что я должен делать, или что предполагается поддерживать, или это ошибка?

Я смотрю на «простой обходной путь», отмеченный вссылка на github выше, но я бы хотелnfirm, если это поддерживается, или если я делаю это неправильно.

Я использую v7 PrimeNg.

...