Files
element-plus/packages/components/tooltip/src/utils.ts
2022-09-20 03:31:05 +00:00

26 lines
637 B
TypeScript

import { unref } from 'vue'
import { isArray } from '@element-plus/utils'
import type { Arrayable } from '@element-plus/utils'
import type { Ref } from 'vue'
import type { TooltipTriggerType } from './trigger'
export const isTriggerType = (
trigger: Arrayable<TooltipTriggerType>,
type: TooltipTriggerType
) => {
if (isArray(trigger)) {
return trigger.includes(type)
}
return trigger === type
}
export const whenTrigger = (
trigger: Ref<Arrayable<TooltipTriggerType>>,
type: TooltipTriggerType,
handler: (e: Event) => void
) => {
return (e: Event) => {
isTriggerType(unref(trigger), type) && handler(e)
}
}