ripple.vue 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <script setup lang="ts">
  2. defineOptions({
  3. name: "Ripple"
  4. });
  5. </script>
  6. <template>
  7. <el-card shadow="never">
  8. <template #header>
  9. <p class="font-medium">波纹(Ripple)</p>
  10. <el-link
  11. class="mt-2"
  12. href="https://github.com/pure-admin/vue-pure-admin/blob/main/src/views/able/ripple.vue"
  13. target="_blank"
  14. >
  15. 代码位置 src/views/able/ripple.vue
  16. </el-link>
  17. </template>
  18. <div class="mb-5">组件中的波纹</div>
  19. <el-alert
  20. title="v-ripple在某些组件中使用波纹特效会异常,这是因为v-ripple指令只能作用于当前元素,某些组件有多层元素嵌套,且目标元素没在顶层,所以会导致特效异常"
  21. type="warning"
  22. :closable="false"
  23. />
  24. <el-space wrap class="my-5">
  25. <el-button v-ripple>Default</el-button>
  26. <el-button v-ripple type="primary">Primary</el-button>
  27. <el-button v-ripple type="success">Success</el-button>
  28. <el-button v-ripple type="info">Info</el-button>
  29. <el-button v-ripple type="warning">Warning</el-button>
  30. <el-button v-ripple type="danger">Danger</el-button>
  31. </el-space>
  32. <el-card v-ripple class="mb-5 w-[510px] select-none" shadow="hover">
  33. 卡片
  34. </el-card>
  35. <div class="mb-5">
  36. 只要在组件或HTML元素上使用v-ripple指令,就可以启用基本的ripple功能
  37. </div>
  38. <div
  39. v-ripple
  40. class="mb-5 text-center shadow-md rounded-md p-8 text-lg select-none"
  41. >
  42. HTML元素
  43. </div>
  44. <span
  45. v-ripple
  46. class="inline-block shadow-md rounded-md p-8 text-lg select-none"
  47. >
  48. 行内元素需要添加display: block或display: inline-block才能生效
  49. </span>
  50. <div class="my-5">
  51. 当使用v-ripple.center时,将始终从目标的中心处产生波纹
  52. </div>
  53. <div
  54. v-ripple.center
  55. class="mb-5 text-center shadow-md rounded-md p-8 text-lg select-none"
  56. >
  57. 始终从中心触发波纹
  58. </div>
  59. <div class="mb-5">
  60. 使用v-ripple="{ class: '' }"添加类来自定义波纹颜色,支持tailwindcss
  61. </div>
  62. <el-alert
  63. title="自定义样式生效为文字颜色,例如:color: 'red';"
  64. type="warning"
  65. :closable="false"
  66. />
  67. <div
  68. v-ripple="{ class: 'text-red-500' }"
  69. class="my-5 text-center shadow-md rounded-md p-4 text-lg select-none"
  70. >
  71. 自定义波纹颜色
  72. </div>
  73. </el-card>
  74. </template>