smilv
3 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
5 additions and
5 deletions
-
packages/hooks/src/useRefs.ts
|
|
|
@ -1,17 +1,17 @@ |
|
|
|
import type { Ref } from 'vue'; |
|
|
|
import { onBeforeUpdate, shallowRef } from 'vue'; |
|
|
|
|
|
|
|
function useRefs(): { |
|
|
|
refs: Ref<HTMLElement[]>; |
|
|
|
setRefs: (index: number) => (el: HTMLElement) => void; |
|
|
|
function useRefs<T = HTMLElement>(): { |
|
|
|
refs: Ref<T[]>; |
|
|
|
setRefs: (index: number) => (el: T) => void; |
|
|
|
} { |
|
|
|
const refs = shallowRef([]) as Ref<HTMLElement[]>; |
|
|
|
const refs = shallowRef([]) as Ref<T[]>; |
|
|
|
|
|
|
|
onBeforeUpdate(() => { |
|
|
|
refs.value = []; |
|
|
|
}); |
|
|
|
|
|
|
|
const setRefs = (index: number) => (el: HTMLElement) => { |
|
|
|
const setRefs = (index: number) => (el: T) => { |
|
|
|
refs.value[index] = el; |
|
|
|
}; |
|
|
|
|
|
|
|
|