directives.d.ts 1.2 KB

12345678910111213141516171819202122232425262728
  1. import type { Directive } from "vue";
  2. import type { CopyEl, OptimizeOptions, RippleOptions } from "@/directives";
  3. declare module "vue" {
  4. export interface ComponentCustomProperties {
  5. /** `Loading` 动画加载指令,具体看:https://element-plus.org/zh-CN/component/loading.html#%E6%8C%87%E4%BB%A4 */
  6. vLoading: Directive<Element, boolean>;
  7. /** 按钮权限指令(根据路由`meta`中的`auths`字段进行判断)*/
  8. vAuth: Directive<HTMLElement, string | Array<string>>;
  9. /** 文本复制指令(默认双击复制) */
  10. vCopy: Directive<CopyEl, string>;
  11. /** 长按指令 */
  12. vLongpress: Directive<HTMLElement, Function>;
  13. /** 防抖、节流指令 */
  14. vOptimize: Directive<HTMLElement, OptimizeOptions>;
  15. /** 按钮权限指令(根据登录接口返回的`permissions`字段进行判断)*/
  16. vPerms: Directive<HTMLElement, string | Array<string>>;
  17. /**
  18. * `v-ripple`指令,用法如下:
  19. * 1. `v-ripple`代表启用基本的`ripple`功能
  20. * 2. `v-ripple="{ class: 'text-red' }"`代表自定义`ripple`颜色,支持`tailwindcss`,生效样式是`color`
  21. * 3. `v-ripple.center`代表从中心扩散
  22. */
  23. vRipple: Directive<HTMLElement, RippleOptions>;
  24. }
  25. }
  26. export {};