useRefs.ts 394 B

12345678910111213141516
  1. import type { Ref } from 'vue';
  2. import { ref, onBeforeUpdate } from 'vue';
  3. export function useRefs(): [Ref<HTMLElement[]>, (index: number) => (el: HTMLElement) => void] {
  4. const refs = ref([]) as Ref<HTMLElement[]>;
  5. onBeforeUpdate(() => {
  6. refs.value = [];
  7. });
  8. const setRefs = (index: number) => (el: HTMLElement) => {
  9. refs.value[index] = el;
  10. };
  11. return [refs, setRefs];
  12. }