fix(toRef): ref created from union typed prop can't be used in watch (#3048)

This commit is contained in:
07akioni
2021-02-04 02:12:51 +08:00
committed by GitHub
parent 6d5b623512
commit 4ca4666d58
2 changed files with 11 additions and 2 deletions

View File

@@ -20,7 +20,7 @@ export interface Ref<T = any> {
_shallow?: boolean
}
export type ToRef<T> = T extends Ref ? T : Ref<UnwrapRef<T>>
export type ToRef<T> = [T] extends [Ref] ? T : Ref<UnwrapRef<T>>
export type ToRefs<T = any> = {
// #2687: somehow using ToRef<T[K]> here turns the resulting type into
// a union of multiple Ref<*> types instead of a single Ref<* | *> type.