안녕하세요 'input'
이벤트 유형이 유형 인 이유가 궁금 Event
합니다 (이어야한다고 생각했습니다 InputEvent
)?
이 문제를 발견했습니다.
interface OnInputTextFieldListenerProps extends BaseTextFieldListenerProps {
eventName: Extract<keyof GlobalEventHandlersEventMap, 'input'>;
callback(e?: InputEvent): void;
}
if (isOnInputTextFieldProps(listenerProps)) {
this.input.addEventListener<'input'>(listenerProps.eventName, listenerProps.callback.bind(this));
}
그리고 이제이 오류가 발생합니다.
TS2345 : '(e ?: InputEvent | undefined) => void'유형의 인수는 '(this : HTMLInputElement, ev : Event) => any'유형의 매개 변수에 할당 할 수 없습니다.
완전히 정확합니다. 그런데 왜 GlobalEventHandlersEventMap
'input'
로 입력되는 Event
대신 InputEvent
.
이 GlobalEventHandlersEventMap
인터페이스는 lib.dom.d.ts at line에서 찾을 수 있습니다 5715
.
MDN 문서에 따르면 GlobalEventHandlers.oninput
인터페이스는 InputEvent
. oninput
probalby는 typescript와 동일 input
합니다. MDN 문서에서 GlobalEventHandlers
인터페이스의 모든 키 가 on
.
또한 여기에서 찾을 수있는 Typescript 리포지토리에서 문제를 열기로 결정했습니다. 문제-39925
따라서이 'input'
이벤트가 Event
대신 유형 인 주된 이유는 공식 HTML 생활 표준이 아닌 초안 사양 의 일부 InputEvent
이기 때문 InputEvent
입니다 .
더 자세히 알고 싶다면 Andrew Branch가 제공 하는 전체 답변을 읽을 수 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다