Что такое тип MomentInput в ReactJS с Typescript? - PullRequest
0 голосов
/ 07 октября 2019

У меня есть событие, в котором я узнаю, является ли это вводом даты в данный момент (Material-UI-Pickers) или обычным вводом текста.

const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
  const isDateInput = moment.isMoment(event);
  const dateValue = () => {
   return moment(event).format();
  };
}

И у меня есть ошибка из машинописного текста:

Никакая перегрузка не соответствует этому вызову.

Перегрузка 1 из 2, '(inp ?: MomentInput,format ?: MomentFormatSpecification, строгий ?: логический): Moment ', выдал следующую ошибку. Аргумент типа «ChangeEvent» не может быть назначен параметру типа «MomentInput». Тип 'ChangeEvent' не имеет общих свойств с типом 'MomentInputObject'.

Перегрузка 2 из 2, '(inp ?: MomentInput, format ?: MomentFormatSpecification, language ?: string, strict ?: boolean): Moment, дал следующую ошибку. Аргумент типа «ChangeEvent» не может быть назначен параметру типа «MomentInput». Тип «ChangeEvent» не имеет общих свойств с типом «MomentInputObject».

Какой тип должен иметь событие, чтобы устранить ошибку?

1 Ответ

0 голосов
/ 07 октября 2019

Решение состоит в том, чтобы добавить момент. Момент интерфейса, как показано ниже:

const handleInputChange = (event: React.ChangeEvent<HTMLInputElement> & moment.Moment) => {
 const isDateInput = moment.isMoment(event);
 const dateValue = () => {
  return moment(event).format();
 };

}

...