element/examples/docs/en-US/date-picker.md

7.9 KiB

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 by creating a picker-options object with shortcuts property. The disabled date is set by disabledDate, which is a function.

<template>
  <div class="block">
    <span class="demonstration">Default</span>
    <el-date-picker
      v-model="value1"
      type="date"
      placeholder="Pick a day">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">Picker with quick options</span>
    <el-date-picker
      v-model="value2"
      type="date"
      placeholder="Pick a day"
      :picker-options="pickerOptions1">
    </el-date-picker>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        pickerOptions1: {
          shortcuts: [{
            text: 'Today',
            onClick(picker) {
              picker.$emit('pick', new Date());
            }
          }, {
            text: 'Yesterday',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24);
              picker.$emit('pick', date);
            }
          }, {
            text: 'A week ago',
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', date);
            }
          }]
        },
        value1: '',
        value2: '',
      };
    }
  };
</script>

:::

Other measurements

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

:::demo

<div class="block">
  <span class="demonstration">Week</span>
  <el-date-picker
    v-model="value3"
    type="week"
    format="Week WW"
    placeholder="Pick a week">
  </el-date-picker>
</div>
<div class="block">
  <span class="demonstration">Month</span>
  <el-date-picker
    v-model="value4"
    type="month"
    placeholder="Pick a month">
  </el-date-picker>
</div>
<div class="block">
  <span class="demonstration">Year</span>
  <el-date-picker
    v-model="value5"
    type="year"
    placeholder="Pick a year">
  </el-date-picker>
</div>

<script>
  export default {
    data() {
      return {
        value3: '',
        value4: '',
        value5: ''
      };
    }
  };
</script>

:::

Date Range

Picking a date range is supported.

:::demo

<template>
  <div class="block">
    <span class="demonstration">Default</span>
    <el-date-picker
      v-model="value6"
      type="daterange"
      placeholder="Pick a range">
    </el-date-picker>
  </div>
  <div class="block">
    <span class="demonstration">With quick options</span>
    <el-date-picker
      v-model="value7"
      type="daterange"
      align="right"
      placeholder="Pick a range"
      :picker-options="pickerOptions2">
    </el-date-picker>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        pickerOptions2: {
          shortcuts: [{
            text: 'Last week',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: 'Last month',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
              picker.$emit('pick', [start, end]);
            }
          }, {
            text: 'Last 3 months',
            onClick(picker) {
              const end = new Date();
              const start = new Date();
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
              picker.$emit('pick', [start, end]);
            }
          }]
        },
        value6: '',
        value7: ''
      };
    }
  };
</script>

:::

Attributes

Attribute Description Type Accepted Values Default
readonly whether DatePicker is read only boolean false
disabled whether DatePicker is disabled boolean false
size size of Input string large/small/mini
editable whether the input is editable boolean true
clearable Whether to show clear button boolean true
placeholder placeholder string
type type of the picker string year/month/date/datetime/ week/datetimerange/daterange date
format format of the picker string year yyyy month MM day dd, hour HH, minute mm, second ss yyyy-MM-dd
align alignment left/center/right left
popper-class custom class name for DatePicker's dropdown string
picker-options additional options, check the table below object {}
range-separator range separator string - ' - '

Picker Options

Attribute Description Type Accepted Values Default
shortcuts a { text, onClick } object array to set shortcut options, check the table below object[]
disabledDate a function determining if a date is disabled with that date as its parameter. Should return a Boolean function
firstDayOfWeek first day of week Number 1 to 7 7

shortcuts

Attribute Description Type Accepted Values Default
text title of the shortcut string
onClick callback function, triggers when the shortcut is clicked, with the vm as its parameter. You can change the picker value by emitting the pick event. Example: vm.$emit('pick', new Date()) function

Events

Event Name Description Parameters
change triggers when input value changes formatted value