<template>
	<view class="main">
		<uni-icons type="minus-filled" size="20" color="#A67A54" @click="numReduce"></uni-icons>
		<!-- <text class="buy-select">{{number}}</text> -->
		<u-input
		  v-model="number"
		  :type="isInt?'number' : 'digit'" 
		  height="40"
		  :placeholder="placeholder"
		  :clearable="false"
		  :disabled="isDisabled"
		  input-align="center"
		  :custom-style="{width:'45px'}"
		  @input="onKeyInput"/>
		<!-- <input class="uni-input" v-model="number" :type="isInt?'number' : 'digit'" :disabled="isDisabled" :placeholder="placeholder" @input="onKeyInput" > -->
		<uni-icons type="plus-filled" size="20" color="#A67A54" @click="numPlus"></uni-icons>
	</view>
</template>

<script>
	export default {
		props: {
			isDisabled: {
				default: false
			},
			isInt: {
				default: true
			},
			placeholder: {
				default: ''
			},
			step: {
				default: 1
			},
			minNum: {
				default: 0.01
			}
		},
		data() {
			return {
			    number: 1,
			}
		},
		methods: {
			onKeyInput(event) {
				// uniapp的input用这个
				// let i = event.target.value
				// u-view的input用这个
				let i = event
				let num = i.charAt(i.length-1)
				var reg=new RegExp("^[0-9]*$")
				if(!reg.test(num)) {
					this.number =  i.slice(0,-1)
				} else {
					this.number = i
				}
				this.$emit('getNum',this.number);
			},
			numPlus() {
			    this.number = Number(this.number) + Number(this.step)
				this.$emit('getNum',this.number);
			},
			numReduce() {
			    if ((Number(this.number) - Number(this.step)) >= Number(this.minNum)) {
				    this.number = Number(this.number) - Number(this.step)
			    }
				this.$emit('getNum',this.number);
			}
		}
	}
</script>

<style>
</style>
<style lang="less" scoped>
	.main {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		.uni-input {
			height: 40px;
			width: 45px;
			text-align: center;
		}
	}
</style>