Почему TypeScript не допускает методы DOM элементов для Vue Ref'ов?

Ошибка собственно в методе Vue компонента: метод UI компонента

Использую дефолтный Nuxt + TypeScript, в @types есть 2 файла:

vue-shim.d.ts

declare module '*.vue' {
  import Vue from 'vue'
  export default Vue
}

tsx-shim.d.ts

import Vue, { VNode } from 'vue';

declare global {
  namespace JSX {
    interface Element extends VNode {}
    interface ElementClass extends Vue {}
    interface IntrinsicElements {
      [element: string]: any;
    }
  }
}

Ответы (1 шт):

Автор решения: Albert Saitov
import Vue, { VueConstructor, VNode} from 'vue'

interface Refs {
  $refs: {
    list: HTMLElement,
    input: HTMLInputElement,
  }
}

export default (Vue as VueConstructor<Vue & Refs>).extend({
  ...
  methods: {
    dropdownTrigger (e: Event | undefined) {
      this.$refs.list.scrollTo(0, 0) // наконец то отлично отрабатывает
    }
  }
  ...
})
→ Ссылка