|
|
|
@ -11,23 +11,19 @@ import { error } from '@/utils/log'
|
|
|
|
|
|
|
|
|
|
type Props<T> = Partial<DynamicProps<BasicTableProps<T>>> |
|
|
|
|
|
|
|
|
|
type UseTableMethod = TableActionType & { |
|
|
|
|
getForm: () => FormActionType |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export function useTable<T>(tableProps?: Props<T>): [ |
|
|
|
|
(instance: TableActionType<T>, formInstance: UseTableMethod) => void, |
|
|
|
|
(instance: TableActionType<T>, formInstance: FormActionType) => void, |
|
|
|
|
TableActionType<T> & { |
|
|
|
|
getForm: () => FormActionType |
|
|
|
|
}, |
|
|
|
|
] { |
|
|
|
|
const tableRef = ref<Nullable<TableActionType<T>>>(null) |
|
|
|
|
const loadedRef = ref<Nullable<boolean>>(false) |
|
|
|
|
const formRef = ref<Nullable<UseTableMethod>>(null) |
|
|
|
|
const formRef = ref<Nullable<FormActionType>>(null) |
|
|
|
|
|
|
|
|
|
let stopWatch: WatchStopHandle |
|
|
|
|
|
|
|
|
|
function register(instance: TableActionType<T>, formInstance: UseTableMethod) { |
|
|
|
|
function register(instance: TableActionType<T>, formInstance: FormActionType) { |
|
|
|
|
isProdMode() |
|
|
|
|
&& onUnmounted(() => { |
|
|
|
|
tableRef.value = null |
|
|
|
|