mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
* perf: change to import-x * feat: add rules * chore: fix rule * chore: fix * chore: fix * chore: fix * style: `pnpm lint:fix` * Revert "style: `pnpm lint:fix`" This reverts commitdb0116a288. * Revert "chore: fix" This reverts commit69c82a90c0. * chore: fix * style: `pnpm lint:fix` * fix: lint * chore: `pnpm format`
27 lines
638 B
TypeScript
27 lines
638 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)
|
|
}
|
|
}
|