Przeglądaj źródła

test: add test for type casting $refs to defineComponent instance type

Evan You 3 lat temu
rodzic
commit
9ed684785f
1 zmienionych plików z 13 dodań i 0 usunięć
  1. 13 0
      types/test/v3/define-component-test.tsx

+ 13 - 0
types/test/v3/define-component-test.tsx

@@ -1139,6 +1139,14 @@ defineComponent({
   }
 })
 
+const X = defineComponent({
+  methods: {
+    foo() {
+      return 123
+    }
+  }
+})
+
 // Missing / mismatching Vue 2 properties
 // https://github.com/vuejs/vue/issues/12628#issuecomment-1177258223
 defineComponent({
@@ -1149,6 +1157,11 @@ defineComponent({
     this.$ssrContext
     this.$isServer
     this.$children[0].$root.$children
+
+    // type casting refs
+    const foo = this.$refs.foo as InstanceType<typeof X>
+    foo.foo().toExponential()
+
     return h('div', {}, [...this.$slots.default!])
   }
 })