DatePicker: fix change event on clear (#9986)

pull/10003/head
Jiewei Qian 2018-03-05 19:42:42 +11:00 committed by 杨奕
parent 62b0e2ace9
commit cacb0aeaec
2 changed files with 29 additions and 0 deletions

View File

@ -617,6 +617,7 @@ export default {
handleClickIcon(event) {
if (this.readonly || this.pickerDisabled) return;
if (this.showClose) {
this.valueOnOpen = this.value;
event.stopPropagation();
this.emitInput(null);
this.emitChange(null);

View File

@ -233,6 +233,34 @@ describe('DatePicker', () => {
}, DELAY);
});
it('change event: when clear(), without opening picker', done => {
vm = createVue({
template: `
<el-date-picker
ref="compo"
v-model="value"
/>`,
data() {
return {
value: new Date()
};
}
}, true);
const spy = sinon.spy();
vm.$refs.compo.$on('change', spy);
setTimeout(_ => {
vm.$refs.compo.showClose = true;
vm.$refs.compo.handleClickIcon({ stopPropagation: () => null });
setTimeout(_ => {
expect(spy.calledOnce).to.equal(true);
expect(spy.calledWith(null)).to.equal(true);
done();
}, DELAY);
}, DELAY);
});
describe('input event', () => {
// mimic standard <select>'s behavior
// emit input if and only if value changes