Ver código fonte

refactor(types/compat): improve the types for $set and $delete (#8719)

远方os 1 ano atrás
pai
commit
70f2f283ee
1 arquivos alterados com 9 adições e 2 exclusões
  1. 9 2
      packages/runtime-core/src/compat/instance.ts

+ 9 - 2
packages/runtime-core/src/compat/instance.ts

@@ -43,8 +43,15 @@ export type LegacyPublicInstance = ComponentPublicInstance &
   LegacyPublicProperties
 
 export interface LegacyPublicProperties {
-  $set(target: object, key: string, value: any): void
-  $delete(target: object, key: string): void
+  $set<T extends Record<keyof any, any>, K extends keyof T>(
+    target: T,
+    key: K,
+    value: T[K]
+  ): void
+  $delete<T extends Record<keyof any, any>, K extends keyof T>(
+    target: T,
+    key: K
+  ): void
   $mount(el?: string | Element): this
   $destroy(): void
   $scopedSlots: Slots