Browse Source

perf: useRefs函数接收泛型类型

main
xingyu 2 years ago
parent
commit
ee56231f02
  1. 12
      src/hooks/core/useRefs.ts

12
src/hooks/core/useRefs.ts

@ -1,16 +1,20 @@
import type { Ref } from 'vue'
import { onBeforeUpdate, ref } from 'vue'
export function useRefs(): [Ref<HTMLElement[]>, (index: number) => (el: HTMLElement) => void] {
const refs = ref([]) as Ref<HTMLElement[]>
function useRefs<T = HTMLElement>(): { refs: Ref<T[]>; setRefs: (index: number) => (el: T) => void } {
const refs = ref([]) as Ref<T[]>
onBeforeUpdate(() => {
refs.value = []
})
const setRefs = (index: number) => (el: HTMLElement) => {
const setRefs = (index: number) => (el: T) => {
refs.value[index] = el
}
return [refs, setRefs]
return {
refs,
setRefs,
}
}
export { useRefs }