Microsoft/TypeScript
Ver no GitHubHTMLFormControlsCollection namedItem should return only form input elements
Open
#39.003 aberto em 10 de jun. de 2020
BugDomain: lib.d.tsHelp Wanted
Métricas do repositório
- Stars
- (48.455 stars)
- Métricas de merge de PR
- (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)
Description
TypeScript Version: 3.9.2
Search Terms: HTMLFormControlsCollection RadioNodeList namedItem
Code
declare const form: HTMLFormElement;
const element = form.elements.namedItem('foo')
if (element && !(element instanceof RadioNodeList)) {
console.log('eee', element.value) // <<< Property 'value' does not exist on type 'Element'
}
Expected behavior: According to MDN, namedItem() on a HTMLFormControlsCollection only returns a specific set of element types.
HTMLFormControlsCollectionshould extendHTMLCollectionOf<HTMLButtonElement | HTMLFieldSetElement | HTMLInputElement | HTMLObjectElement | HTMLOutputElement | HTMLSelectElement | HTMLTextAreaElement>HTMLFormControlsCollection.namedItem()should returnRadioNodeList | HTMLButtonElement | HTMLFieldSetElement | HTMLInputElement | HTMLObjectElement | HTMLOutputElement | HTMLSelectElement | HTMLTextAreaElement | nullRadioNodeListshould extendNodeListOf<HTMLButtonElement | HTMLFieldSetElement | HTMLInputElement | HTMLObjectElement | HTMLOutputElement | HTMLSelectElement | HTMLTextAreaElement>
Actual behavior: HTMLFormControlsCollection.namedItem() return type is not specific enough (Element).
Related Issues: #19437