|
@@ -11,6 +11,7 @@
|
|
|
:disabled="isDisabled"
|
|
|
input-align="center"
|
|
|
:custom-style="{width:'45px'}"/>
|
|
|
+ <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>
|
|
@@ -21,6 +22,9 @@
|
|
|
isDisabled: {
|
|
|
default: false
|
|
|
},
|
|
|
+ isInt: {
|
|
|
+ default: true
|
|
|
+ },
|
|
|
placeholder: {
|
|
|
default: ''
|
|
|
},
|
|
@@ -37,6 +41,20 @@
|
|
|
}
|
|
|
},
|
|
|
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);
|
|
@@ -58,5 +76,10 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: flex-end;
|
|
|
+ .uni-input {
|
|
|
+ height: 40px;
|
|
|
+ width: 45px;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|