mirror of https://github.com/ElemeFE/element
				
				
				
			DatePicker: fix change event on clear (#9986)
							parent
							
								
									62b0e2ace9
								
							
						
					
					
						commit
						cacb0aeaec
					
				| 
						 | 
				
			
			@ -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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue