element-plus/docs/en-US/component/date-picker.md
Jeremy 2a44274bf4
docs(components): [time-picker] event parameters (#8002)
* Update doc event parameters for blur/focus event.
* Update doc event parameters for change event.
* Update doc event parameters for visible-change event.

Co-authored-by: JeremyWuuuuu <15975785+JeremyWuuuuu@users.noreply.github.com>
2022-05-31 10:03:44 +08:00

13 KiB

title lang
DatePicker en-US

DatePicker

Use Date Picker for date input.

Enter Date

Basic date picker measured by 'day'.

:::demo The measurement is determined by the type attribute. You can enable quick options via shortcuts property. The disabled date is set by disabledDate, which is a function.

date-picker/enter-date

:::

Other measurements

You can choose week, month, year or multiple dates by extending the standard date picker component.

:::demo

date-picker/other-measurements

:::

Date Range

Picking a date range is supported.

:::demo When in range mode, the left and right panels are linked by default. If you want the two panels to switch current months independently, you can use the unlink-panels attribute.

date-picker/date-range

:::

Month Range

Picking a month range is supported.

:::demo When in range mode, the left and right panels are linked by default. If you want the two panels to switch current years independently, you can use the unlink-panels attribute.

date-picker/month-range

:::

Default Value

If user hasn't picked a date, shows today's calendar by default. You can use default-value to set another date. Its value should be parsable by new Date().

If type is daterange, default-value sets the left side calendar.

:::demo

date-picker/default-value

:::

Date Formats

Use format to control displayed text's format in the input box. Use value-format to control binding value's format.

By default, the component accepts and emits a Date object.

Check the list here of all available formats of Day.js.

:::warning

Pay attention to capitalization

:::

:::demo

date-picker/date-formats

:::

Default time for start date and end date

When picking a date range, you can assign the time part for start date and end date.

:::demo By default, the time part of start date and end date are both 00:00:00. Setting default-time can change their time respectively. It accepts an array of up to two Date objects. The first string sets the time for the start date, and the second for the end date.

date-picker/default-time

:::

Set custom content of prefix

The content of prefix can be customized.

:::demo Setting prefix-icon to component which you import form other .vue or generated by the render function.

date-picker/custom-prefix-icon

:::

Custom content

The content of cell can be customized, in scoped-slot you can get the cell data.

:::demo

date-picker/custom-content

:::

For data details, please refer:

interface DateCell {
  column: number
  customClass: string
  disabled: boolean
  end: boolean
  inRange: boolean
  row: number
  selected: Dayjs
  isCurrent: boolean
  isSelected: boolean
  start: boolean
  text: number
  timestamp: number
  date: Date
  dayjs: Dayjs
  type: 'normal' | 'today' | 'week' | 'next-month' | 'prev-month'
}

Localization

The default locale of is English, if you need to use other languages, please check Internationalization

Note, date time locale (month name, first day of the week ...) are also configured in localization.

Attributes

Attribute Description Type Accepted Values Default
model-value / v-model binding value date(DatePicker) / array(DateRangePicker)
readonly whether DatePicker is read only boolean false
disabled whether DatePicker is disabled boolean false
size size of Input string large/default/small default
editable whether the input is editable boolean true
clearable whether to show clear button boolean true
placeholder placeholder in non-range mode string
start-placeholder placeholder for the start date in range mode string
end-placeholder placeholder for the end date in range mode string
type type of the picker string year/month/date/dates/datetime/ week/datetimerange/daterange/ monthrange date
format format of the displayed value in the input box string see date formats YYYY-MM-DD
popper-class custom class name for DatePicker's dropdown string
range-separator range separator string '-'
default-value optional, default date of the calendar Date anything accepted by new Date()
default-time optional, the time value to use when selecting date range Date[] Array with length 2, each item is a Date. The first item for the start date and then second item for the end date
value-format optional, format of binding value. If not specified, the binding value will be a Date object string see date formats
id same as id in native input string / array(string) String id="my-date" or array :id="['my-range-start', 'my-range-end']" for date range -
name same as name in native input string
unlink-panels unlink two date-panels in range-picker boolean false
prefix-icon custom prefix icon component string / Component Date
clear-icon custom clear icon component string / Component CircleClose
validate-event whether to trigger form validation boolean - true
disabled-date a function determining if a date is disabled with that date as its parameter. Should return a Boolean function
shortcuts an object array to set shortcut options object[{ text: string, value: date / function }]
cell-class-name set custom className Function(Date)
teleported whether date-picker dropdown is teleported to the body boolean true / false true

Events

Event Name Description Parameters
change triggers when user confirms the value (val: typeof v-model)
blur triggers when Input blurs (e: FocusEvent)
focus triggers when Input focuses (e: FocusEvent)
calendar-change triggers when the calendar selected date is changed. Only for daterange (val: [Date, Date])
panel-change triggers when the navigation button click. (date, mode, view)
visible-change triggers when the DatePicker's dropdown appears/disappears (visibility: boolean)

Methods

Method Description Parameters
focus focus the Input component focusStartInput

Slots

Name Description
default custom cell content
range-separator custom range separator content