Chore: 处理了Vben封装的Drawer,Modal组件的一些类型错误

pull/38/head
xingyu 2023-09-27 10:24:48 +08:00
parent 65800edb88
commit d00d31d739
6 changed files with 15 additions and 15 deletions

View File

@ -133,7 +133,7 @@ function handleOk() {
</script>
<template>
<Drawer :root-class-name="prefixCls" v-bind="getBindValues" @close="onClose">
<Drawer v-bind="getBindValues" @close="onClose">
<template v-if="!$slots.title" #title>
<DrawerHeader
:title="getMergeProps.title as any" :is-detail="isDetail" :show-detail-back="showDetailBack"

View File

@ -3,7 +3,7 @@ import type { CSSProperties, ComputedRef, VNodeChild } from 'vue'
import type { ScrollContainerOptions } from '@/components/Container'
export interface DrawerInstance {
setDrawerProps: (props: Partial<DrawerProps> | boolean) => void
setDrawerProps: (props: Partial<DrawerProps>) => void
emitOpen?: (open: boolean, uid: number) => void
}
@ -13,7 +13,7 @@ export interface ReturnMethods extends DrawerInstance {
getOpen?: ComputedRef<boolean>
}
export type RegisterFn = (drawerInstance: DrawerInstance, uuid?: string) => void
export type RegisterFn = (drawerInstance: DrawerInstance, uuid: number) => void
export interface ReturnInnerMethods extends DrawerInstance {
closeDrawer: () => void
@ -100,7 +100,7 @@ export interface DrawerProps extends DrawerFooterProps {
* @default 'body'
* @type any ( HTMLElement| () => HTMLElement | string)
*/
getContainer?: () => HTMLElement | string
getContainer?: string | false | HTMLElement | (() => HTMLElement)
/**
* Whether to show mask or not.

View File

@ -19,9 +19,9 @@ export function useDrawer(): UseDrawerReturnType {
const drawer = ref<DrawerInstance | null>(null)
const loaded = ref<Nullable<boolean>>(false)
const uid = ref<string>('')
const uid = ref<number>(0)
function register(drawerInstance: DrawerInstance, uuid: string) {
function register(drawerInstance: DrawerInstance, uuid: number) {
isProdMode()
&& tryOnUnmounted(() => {
drawer.value = null
@ -50,7 +50,7 @@ export function useDrawer(): UseDrawerReturnType {
}
const methods: ReturnMethods = {
setDrawerProps: (props: Partial<DrawerProps>): void => {
setDrawerProps: (props: Partial<DrawerProps>) => {
getInstance()?.setDrawerProps(props)
},
@ -85,7 +85,7 @@ export function useDrawer(): UseDrawerReturnType {
export function useDrawerInner(callbackFn?: Fn): UseDrawerInnerReturnType {
const drawerInstanceRef = ref<Nullable<DrawerInstance>>(null)
const currentInstance = getCurrentInstance()
const uidRef = ref<string>('')
const uidRef = ref<number>(0)
if (!getCurrentInstance())
throw new Error('useDrawerInner() can only be used inside setup() or functional components!')
@ -99,7 +99,7 @@ export function useDrawerInner(callbackFn?: Fn): UseDrawerInnerReturnType {
return instance
}
const register = (modalInstance: DrawerInstance, uuid: string) => {
const register = (modalInstance: DrawerInstance, uuid: number) => {
isProdMode()
&& tryOnUnmounted(() => {
drawerInstanceRef.value = null

View File

@ -30,7 +30,7 @@ let realHeight = 0
const stopElResizeFn: Fn = () => {}
useWindowSizeFn(setModalHeight.bind(false))
useWindowSizeFn(setModalHeight.bind(null))
useMutationObserver(
spinRef,

View File

@ -16,9 +16,9 @@ const openData = reactive<{ [key: number]: boolean }>({})
export function useModal(): UseModalReturnType {
const modal = ref<Nullable<ModalMethods>>(null)
const loaded = ref<Nullable<boolean>>(false)
const uid = ref<string>('')
const uid = ref<number>(0)
function register(modalMethod: ModalMethods, uuid: string) {
function register(modalMethod: ModalMethods, uuid: number) {
if (!getCurrentInstance())
throw new Error('useModal() can only be used inside setup() or functional components!')
@ -88,7 +88,7 @@ export function useModal(): UseModalReturnType {
export function useModalInner(callbackFn?: Fn): UseModalInnerReturnType {
const modalInstanceRef = ref<Nullable<ModalMethods>>(null)
const currentInstance = getCurrentInstance()
const uidRef = ref<string>('')
const uidRef = ref<number>(0)
const getInstance = () => {
const instance = unref(modalInstanceRef)
@ -98,7 +98,7 @@ export function useModalInner(callbackFn?: Fn): UseModalInnerReturnType {
return instance
}
const register = (modalInstance: ModalMethods, uuid: string) => {
const register = (modalInstance: ModalMethods, uuid: number) => {
isProdMode()
&& tryOnUnmounted(() => {
modalInstanceRef.value = null

View File

@ -10,7 +10,7 @@ export interface ModalMethods {
redoModalHeight?: () => void
}
export type RegisterFn = (modalMethods: ModalMethods, uuid?: string) => void
export type RegisterFn = (modalMethods: ModalMethods, uuid: number) => void
export interface ReturnMethods extends ModalMethods {
openModal: <T = any>(props?: boolean, data?: T, openOnSet?: boolean) => void