Commit 2880132d authored by nighca's avatar nighca Committed by 杨奕

DatePicker: fix incorrect interaction on range change when defaultTime provided

parent 23a60a0e
...@@ -426,9 +426,8 @@ ...@@ -426,9 +426,8 @@
}, },
handleChangeRange(val) { handleChangeRange(val) {
const defaultTime = this.defaultTime || []; this.minDate = val.minDate;
this.minDate = modifyWithGivenTime(val.minDate, defaultTime[0]); this.maxDate = val.maxDate;
this.maxDate = modifyWithGivenTime(val.maxDate, defaultTime[1]);
this.rangeState = val.rangeState; this.rangeState = val.rangeState;
}, },
......
...@@ -1272,20 +1272,23 @@ describe('DatePicker', () => { ...@@ -1272,20 +1272,23 @@ describe('DatePicker', () => {
triggerEvent(leftCell, 'click', true); triggerEvent(leftCell, 'click', true);
setTimeout(_ => { setTimeout(_ => {
triggerEvent(rightCell, 'mousemove', true); triggerEvent(rightCell, 'mousemove', true);
triggerEvent(rightCell, 'click', true);
setTimeout(_ => { setTimeout(_ => {
const { expect(rightCell.classList.contains('in-range')).to.be.true;
minDate,
maxDate triggerEvent(rightCell, 'click', true);
} = vmWithDefaultTime.picker; setTimeout(_ => {
expect(minDate.getHours()).to.be.equal(11); const {
expect(minDate.getMinutes()).to.be.equal(59); minDate,
expect(minDate.getSeconds()).to.be.equal(59); maxDate
expect(maxDate.getHours()).to.be.equal(0); } = vmWithDefaultTime.picker;
expect(maxDate.getMinutes()).to.be.equal(0); expect(minDate.getHours()).to.be.equal(11);
expect(maxDate.getSeconds()).to.be.equal(0); expect(minDate.getMinutes()).to.be.equal(59);
done(); expect(minDate.getSeconds()).to.be.equal(59);
expect(maxDate.getHours()).to.be.equal(0);
expect(maxDate.getMinutes()).to.be.equal(0);
expect(maxDate.getSeconds()).to.be.equal(0);
done();
}, DELAY);
}, DELAY); }, DELAY);
}, DELAY); }, DELAY);
}, DELAY); }, DELAY);
...@@ -1317,20 +1320,23 @@ describe('DatePicker', () => { ...@@ -1317,20 +1320,23 @@ describe('DatePicker', () => {
triggerEvent(leftCell, 'click', true); triggerEvent(leftCell, 'click', true);
setTimeout(_ => { setTimeout(_ => {
triggerEvent(rightCell, 'mousemove', true); triggerEvent(rightCell, 'mousemove', true);
triggerEvent(rightCell, 'click', true);
setTimeout(_ => { setTimeout(_ => {
const { expect(rightCell.classList.contains('in-range')).to.be.true;
minDate,
maxDate triggerEvent(rightCell, 'click', true);
} = vmWithDefaultTime.picker; setTimeout(_ => {
expect(minDate.getHours()).to.be.equal(11); const {
expect(minDate.getMinutes()).to.be.equal(59); minDate,
expect(minDate.getSeconds()).to.be.equal(59); maxDate
expect(maxDate.getHours()).to.be.equal(18); } = vmWithDefaultTime.picker;
expect(maxDate.getMinutes()).to.be.equal(0); expect(minDate.getHours()).to.be.equal(11);
expect(maxDate.getSeconds()).to.be.equal(0); expect(minDate.getMinutes()).to.be.equal(59);
done(); expect(minDate.getSeconds()).to.be.equal(59);
expect(maxDate.getHours()).to.be.equal(18);
expect(maxDate.getMinutes()).to.be.equal(0);
expect(maxDate.getSeconds()).to.be.equal(0);
done();
}, DELAY);
}, DELAY); }, DELAY);
}, DELAY); }, DELAY);
}, DELAY); }, DELAY);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment