Add start-date prop to force placing of date picker in date

This commit is contained in:
Sergio Crisostomo 2018-01-17 13:05:15 +01:00
parent 4c6836512e
commit 63bd0f7d3f
4 changed files with 12 additions and 3 deletions

View file

@ -35,6 +35,9 @@ export default {
value: { value: {
type: Array, type: Array,
default: () => [initTimeDate(), initTimeDate()] default: () => [initTimeDate(), initTimeDate()]
},
startDate: {
type: Date
} }
}, },
computed: { computed: {

View file

@ -129,14 +129,16 @@
}, },
data(){ data(){
const [minDate, maxDate] = this.value.map(date => date || initTimeDate()); const [minDate, maxDate] = this.value.map(date => date || initTimeDate());
const leftPanelDate = this.startDate ? this.startDate : minDate;
return { return {
prefixCls: prefixCls, prefixCls: prefixCls,
datePrefixCls: datePrefixCls, datePrefixCls: datePrefixCls,
dates: this.value, dates: this.value,
rangeState: {from: this.value[0], to: this.value[1], selecting: minDate && !maxDate}, rangeState: {from: this.value[0], to: this.value[1], selecting: minDate && !maxDate},
currentView: this.selectionMode || 'range', currentView: this.selectionMode || 'range',
leftPanelDate: minDate, leftPanelDate: leftPanelDate,
rightPanelDate: new Date(minDate.getFullYear(), minDate.getMonth() + 1, minDate.getDate()) rightPanelDate: new Date(leftPanelDate.getFullYear(), leftPanelDate.getMonth() + 1, leftPanelDate.getDate())
}; };
}, },
computed: { computed: {

View file

@ -97,7 +97,7 @@
datePrefixCls: datePrefixCls, datePrefixCls: datePrefixCls,
currentView: this.selectionMode || 'date', currentView: this.selectionMode || 'date',
dates: dates, dates: dates,
panelDate: dates[0] || new Date() panelDate: this.startDate || dates[0] || new Date()
}; };
}, },
computed: { computed: {

View file

@ -39,6 +39,7 @@
:steps="steps" :steps="steps"
:format="format" :format="format"
:value="internalValue" :value="internalValue"
:start-date="startDate"
v-bind="ownPickerProps" v-bind="ownPickerProps"
@ -204,6 +205,9 @@
type: Boolean, type: Boolean,
default: false default: false
}, },
startDate: {
type: Date
},
size: { size: {
validator (value) { validator (value) {
return oneOf(value, ['small', 'large', 'default']); return oneOf(value, ['small', 'large', 'default']);