Newer
Older
smartKitchenFront / src / components / mycomponent / input / inputNumber.vue
liuyangyingjie on 26 Oct 2022 1 KB first commit
<template>
   <div class="inputbox">
      <input type="text" v-model="index"><div class="btn" style="" @click="changeIndex('-')">-</div><div class="btn" @click="changeIndex('+')" >+</div>
   </div>
</template>

<script>
export default {
props:['number'],
model:{
  prop:'number',
  event:'changeinput'
},
watch: {  // 利用侦听器 实现自定义组件的双向绑定
    number: {
      handler (vls) {
        this.index = vls
      },
      // 强制立即执行回调
      immediate: true

    },
    index(index){
        this.$emit('changeinput',index)
    }
  },
data(){
    return {
        index:0
    }
},
methods:{
    changeIndex(str){
        if(str=='-'){
            if(this.index==0)return
            this.index--
        }else{
            this.index++
        }
       
    }
}
}
</script>

<style lang="scss" scoped>
.inputbox{
    border: 1px solid #999;
    border-radius: 5px;
    overflow: hidden;
    display: flex;
    padding-left: 5px;
    input{
        border: none;
        outline: none;
         flex: 1;
         width: 100%;
    }
    .btn{
        height: 40px;
        width: 40px;
        line-height: 40px;
        text-align: center;
        color: #999;
        border-left:1px solid #999;
        cursor: pointer;
        
    }
}
</style>