<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>