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