1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <template>
- <view class="qrcode">
- <image class="image" v-if="img" :src="img" :style="{width: sizeSync + 'px', height: sizeSync + 'px'}" />
- </view>
- </template>
- <script>
- import QR from './qrcode.js';
- export default {
- name: 'number-box',
- props: {
- val: {
- type: String,
- default: ''
- },
- size: {
- type: Number,
- default: 100
- }
- },
- data() {
- return {
- img: '',
- sizeSync: 100
- }
- },
- methods: {
- creatQrcode() {
- let val = this.val + '';
- if (!val) {
- return;
- }
- let img = QR.createQrCodeImg(val, {
- size: parseInt(this.size)
- });
- this.img = img;
- },
- clearQrcode() {
- this.img = '';
- }
- },
- watch: {
- size(newVal, oldVal) {
- if (newVal != oldVal) {
- this.sizeSync = newVal;
- this.creatQrcode();
- }
- }
- },
- created() {
- this.sizeSync = this.size;
- }
- }
- </script>
- <style>
- .qrcode {
- display: flex;
- justify-content: center;
- }
- </style>
|