support focus and blur for select

pull/5914/head
Dreamacro 2017-07-17 18:34:53 +08:00 committed by 杨奕
parent c1829e69f1
commit b1860f5274
2 changed files with 29 additions and 1 deletions

View File

@ -51,6 +51,7 @@
:readonly="!filterable || multiple"
:validate-event="false"
@focus="handleFocus"
@blur="handleBlur"
@click="handleIconClick"
@mousedown.native="handleMouseDown"
@keyup.native="debouncedOnInputChange"
@ -426,8 +427,13 @@
});
},
handleFocus() {
handleFocus(event) {
this.visible = true;
this.$emit('focus', event);
},
handleBlur(event) {
this.$emit('blur', event);
},
handleIconClick(event) {

View File

@ -607,4 +607,26 @@ describe('Select', () => {
}, 250);
});
});
it('event:focus & blur', done => {
vm = createVue({
template: `
<el-select ref="select"></el-select>
`
}, true);
const spyFocus = sinon.spy();
const spyBlur = sinon.spy();
vm.$refs.select.$on('focus', spyFocus);
vm.$refs.select.$on('blur', spyBlur);
vm.$el.querySelector('input').focus();
vm.$el.querySelector('input').blur();
vm.$nextTick(_ => {
expect(spyFocus.calledOnce).to.be.true;
expect(spyBlur.calledOnce).to.be.true;
done();
});
});
});