InputEventをTypeScriptで使う
inputElement.addEventListener()とかのときのイベントを型安全にしたい。
ブラウザのグローバルにはInputEventというクラスが登録されているので、普通に
code:ts
inputElement.addEventListener('input', (e) => {
if (e instanceof InputEvent) {
// available e.target !
}
});
みたいにinstanceofが使える。
だが、TypeScriptのlibs/dom.d.tsではこれらのInputEventは提供されていないので、別途インストールする必要がある。
code:sh
$ yarn add -D @types/dom-inputevent
もしかしたら、tsconfig.jsonにも明示的に書かなければ行けないかも。
code:tsconfig.json
{
"compilerOptions": {
"types": [
"@types/node",
"@types/jest",
"@types/webpack",
"@types/dom-inputevent", // Added
"@nuxt/vue-app"
],
}
}