Пользовательская страница для формата даты - PullRequest
3 голосов
/ 11 марта 2020

Я использую ng-pick-datetime для функций даты. Просматривая документацию и пример кода, я обнаружил, что мы можем создать пользовательскую страницу для обработки форматов даты. Но пример кода документации вызывает проблемы. Я не знаю, потому что я использую Angular 9.

Код

// custom-date-time-adapter.class.ts
import { Injectable } from '@angular/core';
import { DateTimeAdapter } from 'ng-pick-datetime';

export const CUSTOM_DATE_TIME_FORMATS = {
    parseInput: 'your custom value',
    fullPickerInput: 'your custom value',
    datePickerInput: 'your custom value',
    timePickerInput: 'your custom value',
    monthYearLabel: 'your custom value',
    dateA11yLabel: 'your custom value',
    monthYearA11yLabel: 'your custom value',
};

@Injectable()
export class CustomDateTimeAdapter extends DateTimeAdapter<T> {
}

Код взят из NgPickDatetime .

Выпуск Issue: 1

1 Ответ

1 голос
/ 11 марта 2020

Класс 'CustomDateTimeAdapter' не является абстрактным классом и должен наследовать 'DateTimeAdapter' членов в качестве подкласса.

Элементы или методы в DateTimeAdapter, помеченные как абстрактные, как и класс. Вы не можете напрямую создавать экземпляры его членов или методов напрямую, потому что они абстрактны. Это часть TypeScript

Добавьте следующие вещи в ваш код

export class CustomDateTimeAdapter extends DateTimeAdapter<any> {   //Use "any" instead of "T" 
    protected locale: any;    
    protected _localeChanges: import("rxjs").Subject<void>;
    localeChanges: import("rxjs").Observable<void>;
    protected millisecondsInDay: 86400000;
    protected milliseondsInMinute: 60000;
    getYear(date: any): number {
        throw new Error("Method not implemented.");
    }
    getMonth(date: any): number {
        throw new Error("Method not implemented.");
    }
    getDay(date: any): number {
        throw new Error("Method not implemented.");
    }
    getDate(date: any): number {
        throw new Error("Method not implemented.");
    }
    getHours(date: any): number {
        throw new Error("Method not implemented.");
    }
    getMinutes(date: any): number {
        throw new Error("Method not implemented.");
    }
    getSeconds(date: any): number {
        throw new Error("Method not implemented.");
    }
    getTime(date: any): number {
        throw new Error("Method not implemented.");
    }
    getNumDaysInMonth(date: any): number {
        throw new Error("Method not implemented.");
    }
    differenceInCalendarDays(dateLeft: any, dateRight: any): number {
        throw new Error("Method not implemented.");
    }
    getYearName(date: any): string {
        throw new Error("Method not implemented.");
    }
    getMonthNames(style: "long" | "short" | "narrow"): string[] {
        throw new Error("Method not implemented.");
    }
    getDayOfWeekNames(style: "long" | "short" | "narrow"): string[] {
        throw new Error("Method not implemented.");
    }
    getDateNames(): string[] {
        throw new Error("Method not implemented.");
    }
    toIso8601(date: any): string {
        throw new Error("Method not implemented.");
    }
    isEqual(dateLeft: any, dateRight: any): boolean {
        throw new Error("Method not implemented.");
    }
    isSameDay(dateLeft: any, dateRight: any): boolean {
        throw new Error("Method not implemented.");
    }
    isValid(date: any): boolean {
        throw new Error("Method not implemented.");
    }
    invalid() {
        throw new Error("Method not implemented.");
    }
    isDateInstance(obj: any): boolean {
        throw new Error("Method not implemented.");
    }
    addCalendarYears(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    addCalendarMonths(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    addCalendarDays(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    setHours(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    setMinutes(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    setSeconds(date: any, amount: number) {
        throw new Error("Method not implemented.");
    }
    createDate(year: number, month: number, date: number);
    createDate(year: number, month: number, date: number, hours: number, minutes: number, seconds: number);
    createDate(year: any, month: any, date: any, hours?: any, minutes?: any, seconds?: any) {
        throw new Error("Method not implemented.");
    }
    clone(date: any) {
        throw new Error("Method not implemented.");
    }
    now() {
        throw new Error("Method not implemented.");
    }
    format(date: any, displayFormat: any): string {
        throw new Error("Method not implemented.");
    }
    parse(value: any, parseFormat: any) {
        throw new Error("Method not implemented.");
    }
    compare(first: any, second: any): number {
        throw new Error("Method not implemented.");
    }
    compareYear(first: any, second: any): number {
        throw new Error("Method not implemented.");
    }
    deserialize(value: any) {
        throw new Error("Method not implemented.");
    }
    setLocale(locale: any): void {
        throw new Error("Method not implemented.");
    }
    clampDate(date: any, min?: any, max?: any) {
        throw new Error("Method not implemented.");
    }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...