mirror of https://github.com/ElemeFE/element
fix input change time (#2956)
parent
651fb58988
commit
61672ce0e2
|
@ -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]);
|
||||
}
|
||||
|
|
|
@ -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({
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue