在尝试编译我的打字稿代码时收到此错误消息:
typescript Property 'formData' does not exist on type 'Event'?
formElem.addEventListener("submit", (e) => {
// on form submission, prevent default
e.preventDefault();
// construct a FormData object, which fires the formdata event
new FormData(formElem);
});
formElem.addEventListener("formdata", (e) => {
let data = e.formData; // this is where the error occurs.
.
.
})
我试图搜索 Event
类型,它是 Event
的子类型,但我并不走运。
我在这里做错了什么?欢迎任何建议
答案 0 :(得分:1)
我看到您正在使用来自 MDN's formdata event 的示例。您要查找的事件类型是 FormDataEvent,它提供 formData
属性。但是,如果您查看浏览器兼容性表,您会发现并非所有浏览器(即 Safari)都支持它。
据我所知,Typescript 目前还不支持这种事件类型,但他们有一个与之相关的未决问题 here。您也可以验证 general definitions 中是否缺少它。
在此阶段,您必须引入自定义类型(如上面提供的问题中的类型)或将事件注释为 any
。再说一次,这在 Safari 上不起作用。
这里有一个somewhat related question可以帮助您。