|
@@ -45,9 +45,10 @@ export type DisabledDateOptions = {
|
|
*/
|
|
*/
|
|
rangeInputFocus?: 'rangeStart' | 'rangeEnd' | false
|
|
rangeInputFocus?: 'rangeStart' | 'rangeEnd' | false
|
|
};
|
|
};
|
|
|
|
+
|
|
export type PresetType = {
|
|
export type PresetType = {
|
|
- start?: string | Date | number;
|
|
|
|
- end?: string | Date | number;
|
|
|
|
|
|
+ start?: BaseValueType | (() => BaseValueType);
|
|
|
|
+ end?: BaseValueType | (() => BaseValueType);
|
|
text?: string
|
|
text?: string
|
|
};
|
|
};
|
|
|
|
|
|
@@ -1065,18 +1066,20 @@ export default class DatePickerFoundation extends BaseFoundation<DatePickerAdapt
|
|
handlePresetClick(item: PresetType, e: any) {
|
|
handlePresetClick(item: PresetType, e: any) {
|
|
const { type, timeZone } = this.getProps();
|
|
const { type, timeZone } = this.getProps();
|
|
const prevTimeZone = this.getState('prevTimezone');
|
|
const prevTimeZone = this.getState('prevTimezone');
|
|
|
|
+ const start = typeof item.start === 'function' ? item.start() : item.start;
|
|
|
|
+ const end = typeof item.end === 'function' ? item.end() : item.end;
|
|
|
|
|
|
let value;
|
|
let value;
|
|
switch (type) {
|
|
switch (type) {
|
|
case 'month':
|
|
case 'month':
|
|
case 'dateTime':
|
|
case 'dateTime':
|
|
case 'date':
|
|
case 'date':
|
|
- value = this.parseWithTimezone([item.start], timeZone, prevTimeZone);
|
|
|
|
|
|
+ value = this.parseWithTimezone([start], timeZone, prevTimeZone);
|
|
this.handleSelectedChange(value);
|
|
this.handleSelectedChange(value);
|
|
break;
|
|
break;
|
|
case 'dateTimeRange':
|
|
case 'dateTimeRange':
|
|
case 'dateRange':
|
|
case 'dateRange':
|
|
- value = this.parseWithTimezone([item.start, item.end], timeZone, prevTimeZone);
|
|
|
|
|
|
+ value = this.parseWithTimezone([start, end], timeZone, prevTimeZone);
|
|
this.handleSelectedChange(value, { needCheckFocusRecord: false });
|
|
this.handleSelectedChange(value, { needCheckFocusRecord: false });
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|