mirror of https://github.com/ElemeFE/element
DatePicker: panels should display different months (#9471)
parent
3d7d4980a9
commit
e40c17f68b
|
@ -395,9 +395,17 @@
|
|||
// should allow them to be set individually in the future
|
||||
if (this.minDate) {
|
||||
this.leftDate = this.minDate;
|
||||
this.rightDate = this.unlinkPanels && this.maxDate
|
||||
? this.maxDate
|
||||
: nextMonth(this.leftDate);
|
||||
if (this.unlinkPanels && this.maxDate) {
|
||||
const minDateYear = this.minDate.getFullYear();
|
||||
const minDateMonth = this.minDate.getMonth();
|
||||
const maxDateYear = this.maxDate.getFullYear();
|
||||
const maxDateMonth = this.maxDate.getMonth();
|
||||
this.rightDate = minDateYear === maxDateYear && minDateMonth === maxDateMonth
|
||||
? nextMonth(this.maxDate)
|
||||
: this.maxDate;
|
||||
} else {
|
||||
this.rightDate = nextMonth(this.leftDate);
|
||||
}
|
||||
} else {
|
||||
this.leftDate = calcDefaultValue(this.defaultValue)[0];
|
||||
this.rightDate = nextMonth(this.leftDate);
|
||||
|
|
|
@ -1144,6 +1144,32 @@ describe('DatePicker', () => {
|
|||
}, DELAY);
|
||||
});
|
||||
|
||||
it('type:daterange unlink:true', done => {
|
||||
vm = createVue({
|
||||
template: '<el-date-picker type="daterange" unlink-panels v-model="value" ref="compo" />',
|
||||
data() {
|
||||
return {
|
||||
value: [new Date(2000, 9, 1), new Date(2000, 9, 2)]
|
||||
};
|
||||
}
|
||||
}, true);
|
||||
|
||||
const rangePicker = vm.$refs.compo;
|
||||
const inputs = rangePicker.$el.querySelectorAll('input');
|
||||
setTimeout(_ => {
|
||||
inputs[0].focus();
|
||||
setTimeout(_ => {
|
||||
const panels = rangePicker.picker.$el.querySelectorAll('.el-date-range-picker__content');
|
||||
const left = panels[0].querySelector('.el-date-range-picker__header');
|
||||
const right = panels[1].querySelector('.is-right .el-date-range-picker__header');
|
||||
const leftText = left.textContent.match(/\d+/g).map(i => Number(i));
|
||||
const rightText = right.textContent.match(/\d+/g).map(i => Number(i));
|
||||
expect(rightText[1] - leftText[1]).to.equal(1); // one month
|
||||
done();
|
||||
}, DELAY);
|
||||
}, DELAY);
|
||||
});
|
||||
|
||||
it('unlink panels', done => {
|
||||
vm = createTest(DatePicker, {
|
||||
type: 'daterange',
|
||||
|
|
Loading…
Reference in New Issue