前提
ESlint使ってます
クラススタイルで書いてます
Vue2
refの型
Vuetifyのv-calendarのprev()とnext()の関数を使おうと$refsを使用したら
Unsafe call of an 'any' typed value.
というエラーが出てしまった。
↓ エラーが出たコード(読み込みとか諸々省略)
<template>
<v-calendar ref="calendar"></v-calendar>
</template>
<script>
@Ref()
public calendar!: any;
public prev(): void {
this.calendar.prev();
}
</script>
any型を使うとESlintに怒られてしまう。
そこで以下のように修正することでエラーを回避しました。
<template>
<v-calendar ref="calendar"></v-calendar>
</template>
<script>
@Ref()
public calendar!: Vue & { prev: () => void; };
public prev(): void {
this.calendar.prev();
}
</script>
v-calendarのprev()の戻り値の型がvoidになってるのでそれを指定しました。
参考
以下のリポジトリのやり方を参考にしました。