diff --git a/src/core/observer/index.ts b/src/core/observer/index.ts index 9988fb8687f..02d19150b8b 100644 --- a/src/core/observer/index.ts +++ b/src/core/observer/index.ts @@ -218,7 +218,11 @@ export function defineReactive( * already exist. */ export function set(array: T[], key: number, value: T): T -export function set(object: object, key: string | number, value: T): T +export function set, K extends keyof T>( + object: T, + key: K, + value: T[K] +): T export function set( target: any[] | Record, key: any, @@ -278,7 +282,10 @@ export function set( * Delete a property and trigger change if necessary. */ export function del(array: T[], key: number): void -export function del(object: object, key: string | number): void +export function del, K extends keyof T>( + object: T, + key: K +): void export function del(target: any[] | object, key: any) { if (__DEV__ && (isUndef(target) || isPrimitive(target))) { warn(