useRefs.ts 394 字节
Newer Older
V
vben 已提交
1
import type { Ref } from 'vue';
V
vben 已提交
2
import { onBeforeUpdate, ref } from 'vue';
V
vben 已提交
3

V
vben 已提交
4
export function useRefs(): [Ref<HTMLElement[]>, (index: number) => (el: HTMLElement) => void] {
V
vben 已提交
5
  const refs = ref([]) as Ref<HTMLElement[]>;
V
vben 已提交
6 7 8 9 10

  onBeforeUpdate(() => {
    refs.value = [];
  });

V
vben 已提交
11
  const setRefs = (index: number) => (el: HTMLElement) => {
V
vben 已提交
12 13 14 15 16
    refs.value[index] = el;
  };

  return [refs, setRefs];
}