Skip to content

DatePicker

DatePicker, MonthPicker, RangePicker, and WeekPicker are all generated via datePicker using props.type

Rules

Basic Example

js
const rule = {
    type: "DatePicker",
    field: "section_day",
    title: "Event Date",
    value: ['2018-02-20 12:12:12', '2018-03-20 12:12:12'],
    props: {
        type: "datetimerange",
        placeholder:"Select event date",
    }
}

Props Configuration Examples

Date Selection (date)

js
const rule = {
    type: "DatePicker",
    field: "date",
    title: "Select Date",
    value: null,
    props: {
        type: "date",
        format: "YYYY-MM-DD",
        placeholder: "Select date",
        allowClear: true,
    }
}

Date Time Selection (datetime)

js
const rule = {
    type: "DatePicker",
    field: "datetime",
    title: "Select Date Time",
    value: null,
    props: {
        type: "datetime",
        format: "YYYY-MM-DD HH:mm:ss",
        placeholder: "Select date time",
        allowClear: true,
    }
}

Date Range Selection (daterange)

js
const rule = {
    type: "DatePicker",
    field: "dateRange",
    title: "Date Range",
    value: null,
    props: {
        type: "daterange",
        format: "YYYY-MM-DD",
        placeholder: ["Start Date", "End Date"],
        allowClear: true,
    }
}

Date Time Range Selection (datetimerange)

js
const rule = {
    type: "DatePicker",
    field: "datetimeRange",
    title: "Date Time Range",
    value: null,
    props: {
        type: "datetimerange",
        format: "YYYY-MM-DD HH:mm:ss",
        placeholder: ["Start Date Time", "End Date Time"],
        allowClear: true,
    }
}

Month Selection (month)

js
const rule = {
    type: "DatePicker",
    field: "month",
    title: "Select Month",
    value: null,
    props: {
        type: "month",
        format: "YYYY-MM",
        placeholder: "Select month",
        allowClear: true,
    }
}

Events Examples

Listen to Date Changes

js
const rule = {
    type: "DatePicker",
    field: "date",
    title: "Select Date",
    value: null,
    props: {
        type: "date",
        format: "YYYY-MM-DD",
        placeholder: "Select date",
        allowClear: true,
    },
    on: {
        change: (dateString, date) => {
            console.log('Date changed:', dateString, date);
        },
        clear: () => {
            console.log('Date cleared');
        },
    },
}

Linkage Update After Date Selection

js
const rule = [
    {
        type: "DatePicker",
        field: "startDate",
        title: "Start Date",
        value: null,
        props: {
            type: "date",
            format: "YYYY-MM-DD",
            placeholder: "Select start date",
        },
        inject: true,
        on: {
            change: ($inject, dateString, date) => {
                // Set end date to start date + 7 days
                if (date) {
                    const endDate = new Date(date);
                    endDate.setDate(endDate.getDate() + 7);
                    $inject.api.setValue('endDate', endDate);
                }
            },
        },
    },
    {
        type: "DatePicker",
        field: "endDate",
        title: "End Date",
        value: null,
        props: {
            type: "date",
            format: "YYYY-MM-DD",
            placeholder: "Select end date",
        },
    },
]

Complete configuration items: arco-design_DatePicker

value: String | Array

DatePicker

Props

ParameterDescriptionTypeDefaultVersion
localeInternationalization configuration, used to override datePicker field in localeRecord<string, any>-
hide-triggerNo trigger element, only show selection panelbooleanfalse
allow-clearWhether to allow clearbooleantrue
readonlyWhether in readonly modebooleanfalse
errorWhether in error statebooleanfalse
sizeSize of date picker`'mini''small''medium'
shortcutsPreset time range shortcutsShortcutType[][]
shortcuts-positionPosition of preset range on panel, default is bottom, side is generally used for scenarios with many preset times`'left''bottom''right'`
positionPosition of popup`'top''tl''tr'
popup-visibleControl popup open or close stateboolean-
default-popup-visibleDefault popup open or close statebooleanfalse
trigger-propsParameters that can be passed to Trigger componentRecord<string, unknown>-
unmount-on-closeWhether to destroy DOM structure when hiddenbooleanfalse
placeholderPlaceholder textstring-
disabledWhether disabledbooleanfalse
disabled-dateDisabled dates(current?: Date) => boolean-
disabled-timeDisabled times(current: Date) => DisabledTimeProps-
picker-value (v-model)Date displayed on panel`Datestringnumber`
default-picker-valueDefault date displayed on panel`Datestringnumber`
popup-containerMount container for popup`stringHTMLElementnull
value-formatValue format, applies to value defaultValue pickerValue defaultPickerValue and return values in events, supports timestamp, Date and string (refer to String Parsing Format). If not specified, will be formatted as string with same format as format.`'timestamp''Date'string`

Events

Event NameDescriptionParameters
changeTriggered when component value changesvalue: `Date
selectTriggered when selected date changes but component value doesn't changevalue: `Date
popup-visible-changeTriggered when popup opens or closesvisible: boolean
okTriggered when confirm button is clickedvalue: `Date
clearTriggered when clear button is clicked-
select-shortcutTriggered when shortcut is clickedshortcut: ShortcutType
picker-value-changeTriggered when panel date changesvalue: `Date

<date-picker> Props

ParameterDescriptionTypeDefault
model-value (v-model)Bound value`Datestring
default-valueDefault value`Datestring
formatFormat for displaying date, refer to String Parsing Format`string((current: Date) => string)`
day-start-of-weekFirst day of week, 0 - Sunday, 1 - Monday. (Default 0)`01`
show-timeWhether to add time selectionbooleanfalse
timepicker-propsParameters for time display, refer to TimePickerPropsPartial<TimePickerProps>-
disabled-timeDisabled times(current: Date) => DisabledTimeProps-
show-now-btnWhether to show button for selecting current time when showTime is enabledbooleantrue

<month-picker> Props

ParameterDescriptionTypeDefault
model-value (v-model)Bound value`Datestring
default-valueDefault value`Datestring
formatFormat for displaying date, refer to String Parsing Formatstring'YYYY-MM'

<year-picker> Props

ParameterDescriptionTypeDefault
model-value (v-model)Bound value`Datestring
default-valueDefault value`Datestring
formatFormat for displaying date, refer to String Parsing Formatstring'YYYY'

<quarter-picker> Props

ParameterDescriptionTypeDefault
model-value (v-model)Bound value`Datestring
default-valueDefault value`Datestring
formatFormat for displaying date, refer to String Parsing Formatstring'YYYY-[Q]Q'

<week-picker> Props

ParameterDescriptionTypeDefault
model-value (v-model)Bound value`Datestring
default-valueDefault value`Datestring
formatFormat for displaying date, refer to String Parsing Formatstring'gggg-wo'
day-start-of-weekFirst day of week, 0 - Sunday, 1 - Monday. (Default 0)`01`

<range-picker> Props

ParameterDescriptionTypeDefaultVersion
modeType of range picker`'date''year''quarter'
model-value (v-model)Bound value`(Datestringnumber)[]`
default-valueDefault value`(Datestringnumber)[]`
picker-valueDefault date displayed on panel`(Datestringnumber)[]`
default-picker-valueDate displayed on panel`(Datestringnumber)[]`
disabledWhether disabled`booleanboolean[]`false
day-start-of-weekFirst day of week, 0 - Sunday, 1 - Monday. (Default 0)`01`0
formatFormat for displaying date, refer to String Parsing Formatstring-
value-formatValue format, applies to value defaultValue pickerValue defaultPickerValue and return values in events, supports timestamp, Date and string (refer to String Parsing Format). If not specified, will be formatted as string with same format as format.`'timestamp''Date'string`
show-timeWhether to add time selectionbooleanfalse
time-picker-propsParameters for time display, refer to TimePickerPropsPartial<TimePickerProps>-
placeholderPlaceholder textstring[]-
disabled-dateDisabled dates`(current: Date, type: 'start''end') => boolean`-
disabled-timeDisabled times`(current: Date, type: 'start''end') => DisabledTimeProps`-
separatorSeparator symbol in range picker input boxstring-

<range-picker> Events

Event NameDescriptionParameters
changeTriggered when component value changesvalue: `(Date
selectTriggered when selected date changes but component value doesn't changevalue: `(Date
popup-visible-changeTriggered when popup opens or closesvisible: boolean
okTriggered when confirm button is clickedvalue: `Date
clearTriggered when clear button is clicked-
select-shortcutTriggered when shortcut is clickedshortcut: ShortcutType
picker-value-changeTriggered when panel date changesvalue: `Date

String Parsing Format

FormatOutputDescription
YY21Two-digit year
YYYY2021Four-digit year
M1-12Month, starting from 1
MM01-12Month, two digits
MMMJan-DecAbbreviated month name
MMMMJanuary-DecemberFull month name
D1-31Day of month
DD01-31Day of month, two digits
d0-6Day of week, Sunday is 0
ddSu-SaShortest day name of week
dddSun-SatAbbreviated day name of week
ddddSunday-SaturdayFull day name of week
H0-23Hour
HH00-23Hour, two digits
h1-12Hour, 12-hour format
hh01-12Hour, 12-hour format, two digits
m0-59Minute
mm00-59Minute, two digits
s0-59Second
ss00-59Second, two digits
S0-9Hundreds of milliseconds, one digit
SS00-99Tens of milliseconds, two digits
SSS000-999Milliseconds, three digits
Z-5:00UTC offset
ZZ-0500UTC offset with leading zero
AAM PM-
aam pm-
Do1st... 3stDay of month with ordinal
X1410715640.579Unix timestamp
x1410715640579Unix timestamp in milliseconds

|

FormCreate is an open-source project released under the MIT License. Free for personal and commercial use.