drip-ui
Version:
Lightweight Mobile UI Components built on Vue
1 lines • 1.1 kB
JavaScript
(this.webpackJsonpdrip=this.webpackJsonpdrip||[]).push([[1],{22:function(t,n,i){"use strict";i.r(n),n.default={render:function(){var t=this,n=t.$createElement,i=t._self._c||n;return i("div",[i("div",{staticClass:"counter"},[i("span",{staticClass:"counter-icon",on:{click:function(n){return n.stopPropagation(),t.subtractCount(n)}}},[t._v("-")]),i("span",{staticClass:"counter-num",domProps:{textContent:t._s(t.count)}}),i("span",{staticClass:"counter-icon",on:{click:function(n){return n.stopPropagation(),t.addCount(n)}}},[t._v("\n +\n ")])])])},props:{value:{type:[Number,String]},minNum:{type:[Number,String],default:1},maxNum:{type:[Number,String]}},data:function(){return{count:this.value}},watch:{value:function(t){this.count=t},count:function(t){this.$emit("input",t)}},methods:{subtractCount:function(){if(this.count>this.minNum)return this.count--,void this.$emit("numCount",{value:this.count,type:"sub"});this.$emit("lowMin",!0)},addCount:function(){if(this.count<this.maxNum)return this.count++,void this.$emit("numCount",{value:this.count,type:"add"});this.$emit("highMax",!0)}}}}}]);