index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <template>
  2. <div>
  3. <el-row :gutter="20">
  4. <el-col :span="6">
  5. <div class="title-item">基础用法,默认canvas</div>
  6. <qrcode text="vue-element-plus-admin" />
  7. </el-col>
  8. <el-col :span="6">
  9. <div class="title-item">img标签</div>
  10. <qrcode text="vue-element-plus-admin" tag="img" />
  11. </el-col>
  12. <el-col :span="6">
  13. <div class="title-item">样式配置</div>
  14. <qrcode
  15. text="vue-element-plus-admin"
  16. :options="{
  17. color: {
  18. dark: '#55D187',
  19. light: '#2d8cf0'
  20. }
  21. }"
  22. />
  23. </el-col>
  24. <el-col :span="6">
  25. <div class="title-item">点击</div>
  26. <qrcode text="vue-element-plus-admin" @click="codeClick" />
  27. </el-col>
  28. <el-col :span="6">
  29. <div class="title-item">异步内容</div>
  30. <qrcode :text="text" />
  31. </el-col>
  32. <el-col :span="6">
  33. <div class="title-item">二维码失效</div>
  34. <qrcode text="vue-element-plus-admin" :disabled="true" @disabled-click="disabledClick" />
  35. </el-col>
  36. <el-col :span="6">
  37. <div class="title-item">logo配置</div>
  38. <qrcode text="vue-element-plus-admin" :logo="logoImg" />
  39. </el-col>
  40. <el-col :span="6">
  41. <div class="title-item">logo样式配置</div>
  42. <qrcode
  43. text="vue-element-plus-admin"
  44. :logo="{
  45. src: logoImg,
  46. logoSize: 0.2,
  47. borderSize: 0.05,
  48. borderRadius: 50,
  49. bgColor: 'blue'
  50. }"
  51. />
  52. </el-col>
  53. <el-col :span="6">
  54. <div class="title-item">大小配置</div>
  55. <qrcode text="vue-element-plus-admin" :width="300" />
  56. </el-col>
  57. </el-row>
  58. </div>
  59. </template>
  60. <script setup lang="ts" name="QrcodeDemo">
  61. import { ref } from 'vue'
  62. import Qrcode from '_c/Qrcode/index.vue'
  63. import { Message } from '_c/Message'
  64. import logoImg from '@/assets/img/logo.png'
  65. const text = ref<string>('')
  66. setTimeout(() => {
  67. text.value = '我是异步生成的内容'
  68. }, 3000)
  69. function codeClick() {
  70. Message.info('我被点击了。')
  71. }
  72. function disabledClick() {
  73. Message.info('我失效被点击了。')
  74. }
  75. </script>
  76. <style lang="less" scoped>
  77. .el-col {
  78. margin-bottom: 20px;
  79. text-align: center;
  80. .title-item {
  81. margin-bottom: 10px;
  82. font-weight: bold;
  83. }
  84. }
  85. </style>