0.1.5 • Published 3 years ago
vue-customizable-datepicker v0.1.5
Vue Customizable Datepicker
Try it out here: Vue Customizable Datepicker
🚀 Usage
npm i vue-customizable-datepickerNuxt.js usage
Create plugin (datepicker.js)
import Vue from 'vue'
import DatePicker from 'vue-customizable-datepicker'
Vue.component('DatePicker', DatePicker);
// nuxt.config.js
plugins: [
  {src: '@/plugins/datepicker', ssr: false}
],
// remember to add ssr: falseSlots
Day
<template v-slot:day="{day}">
  <span>{{ day }}</span>
</template>Value
<template v-slot:value="{date}">
  <span>{{ date }}</span>
</template>
// If range prop is set to true
<template v-slot:value="{from, to}">
  <span>{{ from }}</span>
  <span>{{ to }}</span>
</template>Header
<template v-slot:header="{month, year}">
  <span>{{ month }}</span>
  <span>{{ year }}</span>
</template>Other slots
- arrow-month-next
- arrow-month-previous
- arrow-year-next
- arrow-year-previous
Events
| Event | Data | 
|---|---|
| year-change | {year: Number, month: Number} | 
| month-change | {year: Number, month: Number} | 
Props
| Prop | Default | Description | 
|---|---|---|
| arrows | true | ------ | 
| closeOnClick | true | ------ | 
| dayNames | {1: "Mo",2: "Tu",3: "We",4: "Th",5: "Fr",6: "Sa", 0: "Su"} | ------ | 
| disabledDates | [] | ------ | 
| disableBefore | Date | ------ | 
| disableAfter | Date | ------ | 
| exactRangeDates | false | Return array of days | 
| fillEmpty | true | ------ | 
| fillRange | true | ------ | 
| firstDay | 1 | ------ | 
| format | true | %d.%m.%Y | 
| numberOfCalendars | 1 | ------ | 
| opened | false | Always opened | 
| placeholder | Pick a date | ------ | 
| range | false | Range picker | 
| zeroPad | true | Zero pad all except days | 
| zeroPadDays | false | Zero pad days | 
disabledDates
<DatePicker :disabled-dates="disabledDates" v-model="selectedDate">selectedDate: new Date(),
disabledDates: [
  // To disable range of dates
  [new Date('7/12/2020'), new Date('7/18/2020')],
  
  // To disable single date
  new Date('9/8/2020'),
  
  // example:
  // Disable range from 7/24/2020 to 7/27/2020 + diasble 7/29/2020
  [new Date('7/24/2020'), new Date('7/27/2020')], new Date('7/29/2020')
]v-model
If range prop is set to true value will be object with from and to properties.
{
  from: 'Fri Jul 10 2020 00:00:00 GMT+0200 (Central Eu...'
  to: 'Wed Jul 15 2020 00:00:00 GMT+0200 (Central Eu...'
}If range and exactRangeDates props are set to true value will be array of dates.
[
  'Thu Jul 09 2020 00:00:00 GMT+0200 (Central Eu...',
  'Fri Jul 10 2020 00:00:00 GMT+0200 (Central Eu...',
  'Sat Jul 11 2020 00:00:00 GMT+0200 (Central Eu...'
]Otherwise value will be Date object.
"2020-07-08T22:00:00.000Z"