Ich überprüfe auf Eingangstyp irgendeines Elements, zB Checkbox in TS. Jetzt bin ich mir sicher, dass ich das Element checkbox habe, also sollte dieses Element die Eigenschaft checked haben. Aber wenn ich einfach tunTypescript, wie man dieses Element erkennt, ist checkbox, also element.checked ist nicht rot unterstrichen
als es funktioniert, aber element.checked ist rot unterstrichen. Ich denke, dass ich einfach von HTMLElement zu etwas wie CheckboxElement wiederholen muss, aber nichts passendes für diese Umwandlung fand. Wie man das los wird? Ich habe dies auch im Falle von element.value
+1 und nur aus Gründen der Klarheit, er muss nicht den Test oben tun, wenn mit 'HTMLInputElement' ... jetzt kann er einfach nutzen die' checked 'property:' (wenn element.checked') {... ' –
@SunilD. Thx, OP kann es entfernen, vielleicht ist es ein Teil des Codes, der den Standard basierend auf dem Eingabetyp des Elements setzt, und das Kontrollkästchen ist zufällig einer davon. Nur um Ihre Aussage zu verdeutlichen: "Er muss den obigen Test nicht durchführen, wenn er HTMLInputElement verwendet". Die Geltendmachung eines bestimmten Typs mit Typoskript stellt keine Runtime-Sicherheit sicher, obwohl die spezifische Überprüfung hier irrelevant ist und Sie Recht haben. – PSL
Danke für die Hilfe. Eine Sache noch. Angenommen, ich habe einen Listener bei Änderungsereignissen, jetzt möchte ich den Typ der Eingabe überprüfen: ' event.target) .type) == "password" 'jetzt sicher, dass dies in' event.target) .type geändert werden kann. == "password" 'aber das Problem ist, dass Änderungsereignis auf Element gefeuert werden kann, die ich nicht genau weiß, was es ist, aber ich nehme an, dass es Eigenschaft' type' nicht hat. Gibt es einen sicheren Weg, Casting in TS zu verwenden? Nur die Dinge, die mir in den Sinn kommen, ist, dass ich vorher prüfen werde, ob dieses Tag eingegeben wird. @Sunil D. –