Ben Lin
2024-03-24 b72cc34ab2fef7d6bcaca3e2b11231713d622fce
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { ref, ComputedRef, unref, computed, watch } from 'vue';
import type { BasicTableProps } from '../types/table';
 
export function useLoading(props: ComputedRef<BasicTableProps>) {
  const loadingRef = ref(unref(props).loading);
 
  watch(
    () => unref(props).loading,
    (loading) => {
      loadingRef.value = loading;
    },
  );
 
  const getLoading = computed(() => unref(loadingRef));
 
  function setLoading(loading: boolean) {
    loadingRef.value = loading;
  }
 
  return { getLoading, setLoading };
}