Vue Date Picker MDB Pro component
Vue Date Picker - Bootstrap 4 & Material Design
Note: This documentation is for an older version of Bootstrap (v.4). A
newer version is available for Bootstrap 5. We recommend migrating to the latest version of our product - Material Design for
Bootstrap 5.
Go to docs v.5
Vue Bootstrap date picker is a plugin that adds a function of selecting date in a user-friendly way.
This documentation may contain syntax introduced in the MDB Vue 6.7.0 and can be incompatible with previous versions. For old datepicker documentation please follow the link.
Basic example MDB Pro component
<template>
<mdb-date-picker-2 v-model="date" label="Basic example" title="Select date" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
date: ''
};
}
}
</script>
Inline example MDB Pro component
<template>
<mdb-date-picker-2 inline v-model="date" label="Inline example" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
date: ''
};
}
}
</script>
Limit examples MDB Pro component
Disable past or future dates on the picker by using disabledPast
or disabledFuture
prop. More limit options are presented in the customization section.
<template>
<mdb-date-picker-2 v-model="date" disabledPast label="Disabled past dates" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
date: ''
};
}
}
</script>
Disabled weekends MDB Pro component
<template>
<mdb-date-picker-2 v-model="date" label="Disabled weekends" :limit="limit" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
date: '',
limit: [{
type: 'weekday',
available: [1, 2, 3, 4, 5]
}]
};
}
}
</script>
Custom icons MDB Pro component
Use custom font awesome icons within date picker.
<template>
<mdb-date-picker-2 icon="clock" far datePickerIcon="fas fa-calendar" v-model="date" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
date: ''
}
}
}
</script>
Keyboard navigation
Open date picker by pressing Enter
key after focusing calendar icon and tab through available dates. Focus select and press enter to switch between day, year and month plates. On each view You can also use Arrows
to move or Home
and End
buttons for choosing first or last item. Use Page Up
or Page Down
for swithing between months or years. Press Enter
to select the date. The Delete
key will clear selected value, while Esc
will close the modal.
Date and time picker
You can use Date Picker and Time Picker components together to fill one input.
<template>
<div>
<mdb-input :value="handlePickersValue()" @click.native="$refs.datePicker.open()" />
<mdb-date-picker-2
ref="datePicker"
disable-input
v-model="datePickerValue"
@close="$refs.timePicker.open()" />
<mdb-time-picker
ref="timePicker"
disable-input
v-model="timePickerValue" />
</div>
</template>
<script>
import { mdbDatePicker2, mdbTimePicker, mdbInput } from 'mdbvue';
export default {
name: 'DatePickerPage',
components: {
mdbDatePicker2,
mdbTimePicker,
mdbInput
},
methods: {
handlePickersValue() {
let output = 'Pick date and time'
if (this.datePickerValue && this.timePickerValue) output = `${this.datePickerValue}, ${this.timePickerValue}`
else if (this.datePickerValue) output = this.datePickerValue
else if (this.timePickerValue) output = this.timePickerValue
return output
}
},
data() {
return {
datePickerValue: '',
timePickerValue: ''
}
}
}
</script>
Customization
Strings
Change the month and weekday labels as you find suitable:
options: {
week: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
}
Buttons
Change the button's text by passing a value:
options: {
buttons: {
ok: 'Ok',
cancel: 'Cancel',
clear: 'Clear'
}
}
Colors
Easily change picker's color theme by passing color options:
options: {
color: {
header: 'info',
headerText: 'white',
checkedDay: 'info'
}
}
Translations
You can define labels in any other language:
options: {
week: ['Sam', 'Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven'],
month: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
placeholder: 'Veuillez choisir une date',
buttons: {
ok: 'Ok',
cancel: 'Effacer',
clear: 'Aujourd hui'
}
}
Date limits
Set the minimum and maximum selectable dates on the picker:
<template>
<mdb-date-picker-2 :limit="limit" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
limit: [{
type: 'weekday',
available: [1, 2, 3, 4, 5]
},
{
type: 'fromto',
from: '2018-02-01',
to: '2018-06-20'
}]
};
}
}
</script>
Disabled dates
Disable exact date or an array of dates like this:
<template>
<mdb-date-picker-2 :limit="arrayLimit" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
arrayLimit: [{
type: 'exact',
disabled: ['2019-12-12', '2019-12-14', '2019-12-18']
}]
}
}
}
</script>
Disabled past/future
Disable past or future dates on the picker, by using disabledPast
or disabledFuture
prop:
<template>
<mdb-date-picker-2 disabledPast />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
}
}
</script>
Disabled range of dates
Disable range of dates on the picker.
<template>
<mdb-date-picker-2 :limit="rangeLimit" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
rangeLimit: [{
type: 'range',
from: '2019-12-05',
to: '2019-12-15'
}]
}
}
}
</script>
Disabled from or to an exact date
Disable from or to an exact date by using the following syntax:
<template>
<mdb-date-picker-2 :limit="fromLimit" />
</template>
<script>
import { mdbDatePicker2 } from 'mdbvue';
export default {
name: 'Example',
components: {
mdbDatePicker2
},
data() {
return {
fromLimit: [{
type: 'from',
from: '2020-03-04'
}],
// or
toLimit: [{
type: 'to',
to: '2020-03-04'
}]
}
}
}
</script>
Vue Date Picker - API
In this section you will find advanced information about the Vue Date Picker component. You will learn which modules are required in this component, what are the possibilities of configuring the component, and what events and methods you can use in working with it.
Import statement
<script>
import {
mdbDatePicker2
} from 'mdbvue';
</script>
API Reference: Properties
Name | Type | Default | Description | Example |
---|---|---|---|---|
limit |
Object | {} |
Used to delimit available dates - when type:'fromto' ,
two consecutive dates are specified (from:..., and
to:... , which will be exluded; when
type: 'weekday' , available property holds
an array of weekdays available
|
limit: { type: 'fromto', ... }
|
options |
Array | {}
|
Changing picker options |
options: { type: 'day', ... }
|
disableOk |
Boolean | false
|
Disabling ok button |
<mdb-date-picker-2 disableOk />
|
disableClear
|
Boolean | false
|
Disabling clear button |
<mdb-date-picker-2 disableClear />
|
disableCancel
|
Boolean | false
|
Disabling cancel button |
<mdb-date-picker-2 disableCancel />
|
autoHide |
Boolean | false
|
Turning on auto-hide after picking a date |
<mdb-date-picker-2 autoHide />
|
validation |
Boolean | false |
Enables validation |
<mdb-date-picker-2 :validation="isValidated" />
|
isValid |
Boolean | false |
Custom validation check |
<mdb-date-picker-2 :isValid="true" />
|
validFeedback
|
[String, Boolean] | false |
Valid feedback label |
<mdb-date-picker-2 validFeedback="Correct" />
|
invalidFeedback
|
[String, Boolean] | false |
Invalid feedback label |
<mdb-date-picker-2 invalidFeedback="Invalid" />
|
defaultDate
|
[String, Date] |
|
Sets default date |
<mdb-date-picker-2 :defaultDate="date" />
|
label
|
String | "Please choose a date |
Sets label |
<mdb-date-picker-2 label="label" />
|
bg
|
Boolean | false |
Sets design to animated border with background |
<mdb-date-picker-2 bg />
|
icon
|
String |
|
Adds icon to a datepicker's input |
<mdb-date-picker-2 icon="clock" />
|
iconClass
|
String |
|
Adds custom class to a datepicker's icon |
<mdb-date-picker-2 icon="clock" iconClass="yellow-text"
/>
|
far
|
Boolean | false |
Changes icon's style to regular |
<mdb-date-picker-2 icon="paper-plane" far/>
|
fab
|
Boolean | false |
Changes icon's style to brands |
<mdb-date-picker-2 icon="..." fab />
|
fal
|
Boolean | false |
Changes icon's style to light |
<mdb-date-picker-2 icon="..." fal />
|
inline
|
Boolean | false |
Enables inline mode |
<mdb-date-picker-2 inline />
|
inlinePlacement
|
String | 'bottom-start' |
Changes inline default placement. Most common options are 'top-start' and 'bottom-start'. |
<mdb-date-picker-2 inlinePlacement="top-start" />
|
datePickerIcon
|
String | 'far fa-calendar' |
Changes picker toggler icon. |
<mdb-date-picker-2 datePickerIcon="far fa-calendar-alt"
/>
|
title
|
String | 'Title' |
Defines modal picker title. |
<mdb-date-picker-2 title="Pick date" />
|
API Reference: Methods
Name | Parameters | Description | Example |
---|---|---|---|
@getValue |
value | Returns time-picker value. |
<mdb-date-picker-2 @getValue="getPickersValue" />
|
v-on:focus |
e |
Emitted on input's native focus event, meaning when
the field gains focus.
|
<mdb-date-picker-2 @focus="onFocus" />
|
v-on:blur |
e |
Emitted on input's native blur event, meaning when
the field looses focus.
|
<mdb-date-picker-2 @blur="onBlur" />
|
v-on:close |
e | Emitted on datePicker close. |
<mdb-date-picker-2 @close="onClose" />
|
Date Picker options
Name | Type | Default | Description |
---|---|---|---|
format |
String | 'YYYY-MM-DD' | decides upon the output format |
placeholder |
String | null | datepicker's input's placeholder |
week |
Array | null | the day names tags array |
buttons |
Object | {} |
an object with ok , clear and
cancel property,
where the buttons names are specified
|
color |
Object | {} |
an object with header , headerText and
checkedDay property, where the colors are specified
|
inputStyle |
Object | {} | style object consisting of 'property': 'value' pairs |
wrapperClass |
String | '' | used to style the datepicker's wrapper |