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); this.$emit('focus', event);
}, },
handleInput(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) { handleIconClick(event) {
if (this.onIconClick) { if (this.onIconClick) {
@ -184,8 +187,6 @@
this.resizeTextarea(); this.resizeTextarea();
}); });
this.currentValue = value; this.currentValue = value;
this.$emit('input', value);
this.$emit('change', value);
if (this.validateEvent) { if (this.validateEvent) {
this.dispatch('ElFormItem', 'el.form.change', [value]); this.dispatch('ElFormItem', 'el.form.change', [value]);
} }

View File

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

View File

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