Property 'value' does not exist on type EventTarget in TypeScript

后端 未结 8 1054
野趣味
野趣味 2020-11-29 17:06

So the following code is in Angular 4 and I can\'t figure out why it doesn\'t work the way as expected.

Here is a snippet of my handler:

onUpdatingSe         


        
8条回答
  •  失恋的感觉
    2020-11-29 17:58

    event.target here is an HTMLElement which is the parent of all HTML elements, but isn't guaranteed to have the property value. TypeScript detects this and throws the error. Cast event.target to the appropriate HTML element to ensure it is HTMLInputElement which does have a value property:

    (event.target).value
    

    Per the documentation:

    Type the $event

    The example above casts the $event as an any type. That simplifies the code at a cost. There is no type information that could reveal properties of the event object and prevent silly mistakes.

    [...]

    The $event is now a specific KeyboardEvent. Not all elements have a value property so it casts target to an input element.

    (Emphasis mine)

提交回复
热议问题