Microsoft/TypeScript
Voir sur GitHubHTMLFormControlsCollection namedItem should return only form input elements
Open
#39 003 ouverte le 10 juin 2020
BugDomain: lib.d.tsHelp Wanted
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
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