QrCode.vue 595 B

1234567891011121314151617181920212223242526272829303132
  1. <template>
  2. <canvas ref="canvas"></canvas>
  3. </template>
  4. <script>
  5. import QRCode from 'qrcode'
  6. export default {
  7. name: 'QrCode',
  8. props: {
  9. value: { type: String, default: '' },
  10. size: { type: Number, default: 52 }
  11. },
  12. mounted() {
  13. this.render()
  14. },
  15. watch: {
  16. value: 'render'
  17. },
  18. methods: {
  19. // 使用 qrcode 库在 canvas 上生成二维码
  20. render() {
  21. QRCode.toCanvas(this.$refs.canvas, this.value || 'device', {
  22. width: this.size,
  23. margin: 1,
  24. color: { dark: '#000000', light: '#ffffff' }
  25. }).catch(() => {})
  26. }
  27. }
  28. }
  29. </script>