fix input-number invalid value reset bug

pull/2100/head
baiyaaaaa 2016-12-30 11:30:34 +08:00 committed by 杨奕
parent 42eb169e4f
commit f20c37885f
2 changed files with 31 additions and 0 deletions

View File

@ -117,6 +117,8 @@
if (newVal <= this.max && newVal >= this.min) { if (newVal <= this.max && newVal >= this.min) {
this.$emit('change', newVal, oldVal); this.$emit('change', newVal, oldVal);
this.$emit('input', newVal); this.$emit('input', newVal);
} else {
this.currentValue = oldVal;
} }
} }
}, },

View File

@ -234,6 +234,35 @@ describe('InputNumber', () => {
expect(vm.$el.querySelector('.el-input-number__decrease')).to.not.exist; expect(vm.$el.querySelector('.el-input-number__decrease')).to.not.exist;
expect(vm.$el.querySelector('.el-input-number__increase')).to.not.exist; expect(vm.$el.querySelector('.el-input-number__increase')).to.not.exist;
}); });
it('invalid value reset', done => {
vm = createVue({
template: `
<el-input-number v-model="value" :min="5" :max="10">
</el-input-number>
`,
data() {
return {
value: 5
};
}
}, true);
vm.value = 100;
vm.$nextTick(_ => {
expect(vm.value).to.be.equal(5);
vm.value = 4;
vm.$nextTick(_ => {
expect(vm.value).to.be.equal(5);
vm.value = 'dsajkhd';
vm.$nextTick(_ => {
expect(vm.value).to.be.equal(5);
done();
});
});
});
});
it('event:change', done => { it('event:change', done => {
vm = createVue({ vm = createVue({
template: ` template: `