在TypeScript中通过EventTarget类型的索引访问元素



我正在尝试访问输入元素上的event.target对象使用event.target[0]在TypeScript,但我一直得到这个错误:

元素隐式地具有'any'类型,因为'0'类型的表达式不能用于索引'EventTarget'类型。属性'0'在类型'EventTarget'上不存在。

这是我到目前为止的代码:

const counterDecrement = document.getElementById("counter__decrement")!;
const counterIncrement = document.getElementById("counter__increment")!;
const counterForm = document.getElementById("counter__form")!;
counterDecrement.addEventListener("click", () => {
counterValue.innerText = (+counterValue.innerText - 1).toString();
});
counterIncrement.addEventListener("click", () => {
counterValue.innerText = (+counterValue.innerText + 1).toString();
});
counterForm.addEventListener("submit", event => {
event.preventDefault();
event.target as HTMLInputElement;
if (event.target) {
console.log(event.target[0]);
}
});

我在event.target[0]下面得到一条弯弯曲曲的红线(第18行)

有什么办法解决这个问题吗?

感谢

我认为你可以通过counterForm的元素来访问它你需要设置哪种html元素是counterForm

你可以这样简单地使用它:

const counterForm = document.getElementById("counter__form") as HTMLFormElement;
counterForm.elements[0];

最新更新