fix input change time (#2956)

pull/2963/head
baiyaaaaa 2017-02-22 16:33:30 +08:00 committed by cinwell.li
parent 651fb58988
commit 61672ce0e2
3 changed files with 27 additions and 25 deletions

View File

@ -170,7 +170,10 @@
this.$emit('focus', event);
},
handleInput(event) {
this.setCurrentValue(event.target.value);
const value = event.target.value;
this.$emit('input', value);
this.setCurrentValue(value);
this.$emit('change', value);
},
handleIconClick(event) {
if (this.onIconClick) {
@ -184,8 +187,6 @@
this.resizeTextarea();
});
this.currentValue = value;
this.$emit('input', value);
this.$emit('change', value);
if (this.validateEvent) {
this.dispatch('ElFormItem', 'el.form.change', [value]);
}

View File

@ -498,30 +498,31 @@ describe('Cascader', () => {
}
}, true);
expect(vm.$el).to.be.exist;
vm.$refs.cascader.inputValue = 'z';
vm.$el.click();
setTimeout(_ => {
expect(document.body.querySelector('.el-cascader-menus')).to.be.exist;
const menu = vm.$refs.cascader.menu;
const menuElm = menu.$el;
const item1 = menuElm.querySelector('.el-cascader-menu__item');
expect(menuElm.children.length).to.be.equal(1);
expect(menuElm.children[0].children.length).to.be.equal(3);
done();
item1.click();
vm.$nextTick(_ => {
vm.$refs.cascader.handleInputChange('z');
setTimeout(_ => {
expect(document.body.querySelector('.el-cascader-menus').style.display).to.be.equal('none');
expect(vm.selectedOptions[0]).to.be.equal('zhejiang');
expect(vm.selectedOptions[1]).to.be.equal('hangzhou');
expect(vm.selectedOptions[2]).to.be.equal('xihu');
expect(document.body.querySelector('.el-cascader-menus')).to.be.exist;
const menu = vm.$refs.cascader.menu;
const menuElm = menu.$el;
const item1 = menuElm.querySelector('.el-cascader-menu__item');
expect(menuElm.children.length).to.be.equal(1);
expect(menuElm.children[0].children.length).to.be.equal(3);
done();
}, 500);
}, 300);
item1.click();
setTimeout(_ => {
expect(document.body.querySelector('.el-cascader-menus').style.display).to.be.equal('none');
expect(vm.selectedOptions[0]).to.be.equal('zhejiang');
expect(vm.selectedOptions[1]).to.be.equal('hangzhou');
expect(vm.selectedOptions[2]).to.be.equal('xihu');
done();
}, 500);
}, 300);
});
});
it('props', done => {
vm = createVue({

View File

@ -214,7 +214,7 @@ describe('Input', () => {
vm.input = 'b';
vm.$nextTick(_ => {
expect(spy.withArgs('b').calledOnce).to.be.true;
expect(spy.withArgs('b').calledOnce).to.be.false;
done();
});
});