vue输入框组件开发
input-number.js
function isValueNumber(value) {
return(/(^-?[0-9]+\.{1}\d+$)|(^-?[1-9]*$)|(^-?0{1}$)/).test(value + '');
}
Vue.component('input-number',{
template: '\
<div class=input-number>\
<input\
type="text"\
:value="currentValue"\
@change="handleChange"\
@focus="keyControl">\
<button \
@click="handleDown" \
:disabled="currentValue<=min">-</button>\
<button \
@click="handleUp" \
:disabled="currentValue>=max">+</button>\
</div>',
data: function (){
return {
currentValue: this.value,
currentStep: this.$parent.step
}
},
watch: {
currentValue: function (val){
this.$emit('input',val);
this.$emit('on-change',val);
},
value: function(val){
this.updateValue(val);
}
},
methods