本文实例为大家分享了vue实现计步器功的具体代码,供大家参考,具体内容如下
1.首先先创建一个Stepper.vue
<template> <div class="counter-component"> <div class="counter-btn" @click="mins" :class="{ active: muber==min }">-</div> <input type="text" v-model="muber" @keyup="keyUpnumberVal" /> <div class="counter-btn" @click="adds" :class="{ active: muber==max }">+</div> </div> </template> <script> export default { name: "Stepper", data() { return { muber: 1 }; }, props: { min: { type: Number, default: 1 }, max: { type: Number, default: 5 }, disabled, }, methods: { mins() { if (this.muber <= this.min) { return; } this.muber--; this.$emit("countNumber", this.muber); }, adds() { if (this.muber >= this.max) { return; } this.muber++; this.$emit("countNumber", this.muber); }, keyUpnumberVal() { let numValue; if (typeof this.muber === "string") { } this.$emit("countNumber", this.muber); } } }; </script> <style lang="less" scoped> .counter-component { position: relative; display: inline-table; overflow: hidden; vertical-align: middle; } .counter-show { float: left; } input { display: inline-block; border: none; border-top: 1px solid #e3e3e3; border-bottom: 1px solid #e3e3e3; height: 25px; line-height: 25px; width: 30px; text-align: center; outline: none; text-align: center; background: #fff; } .counter-btn { border: 1px solid #e3e3e3; display: inline-block; height: 25px; line-height: 25px; width: 25px; text-align: center; cursor: pointer; } .counter-btn:hover { border-color: #4fc08d; background: #4fc08d; color: #fff; } .active { background: rgb(182, 181, 181); } </style>
2.然后页面加载
import Stepper from "./Stepper/Stepper"; <Stepper :min="Numbers" :max="maxNumbers" @countNumber="getFeslaves('countNumber',$event)"></Stepper> data(){ return { Numbers: 1, maxNumbers: 5 } }
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!