项目作者: dwqs

项目描述 :
A simple datepicker component based Vue 2.x: https://dwqs.github.io/v2-datepicker/
高级语言: JavaScript
项目地址: git://github.com/dwqs/v2-datepicker.git
创建时间: 2018-01-09T06:52:55Z
项目社区:https://github.com/dwqs/v2-datepicker

开源协议:MIT License

下载


npm-version license

中文 README

v2-datepicker

A simple datepicker component based Vue 2.x.

Installation

npm:

  1. npm i --save v2-datepicker

or yarn

  1. yarn add v2-datepicker

Get Started

  1. import Vue from 'vue';
  2. import 'v2-datepicker/lib/index.css'; // v2 need to improt css
  3. import V2Datepicker from 'v2-datepicker';
  4. Vue.use(V2Datepicker)
  1. // basic
  2. <v2-datepicker v-model="val"></v2-datepicker>
  3. <v2-datepicker-range v-model="val2"></v2-datepicker-range>
  4. //setting
  5. <v2-datepicker-range v-model="val" lang="en" format="yyyy-MM-DD" :picker-options="pickerOptions"></v2-datepicker-range>
  6. <v2-datepicker v-model="val2" format="yyyy-MM-DD" :picker-options="pickerOptions2"></v2-datepicker>
  7. export default {
  8. data () {
  9. return {
  10. pickerOptions: {
  11. shortcuts: [{
  12. text: 'Latest Week',
  13. onClick (picker) {
  14. const end = new Date();
  15. const start = new Date();
  16. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  17. picker.$emit('pick', [start, end]);
  18. }
  19. }, {
  20. text: 'Latest Month',
  21. onClick (picker) {
  22. const end = new Date();
  23. const start = new Date();
  24. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  25. picker.$emit('pick', [start, end]);
  26. }
  27. }, {
  28. text: 'Latest Three Month',
  29. onClick (picker) {
  30. const end = new Date();
  31. const start = new Date();
  32. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  33. picker.$emit('pick', [start, end]);
  34. }
  35. }]
  36. },
  37. pickerOptions2: {
  38. shortcuts: [{
  39. text: 'Today',
  40. onClick (picker) {
  41. picker.$emit('pick', new Date());
  42. }
  43. }, {
  44. text: 'Yesterday',
  45. onClick (picker) {
  46. const date = new Date();
  47. date.setTime(date.getTime() - 3600 * 1000 * 24);
  48. picker.$emit('pick', date);
  49. }
  50. }, {
  51. text: 'A week ago',
  52. onClick (picker) {
  53. const date = new Date();
  54. date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
  55. picker.$emit('pick', date);
  56. }
  57. }]
  58. }
  59. }
  60. }
  61. }

More demo to visit here.

On Demand Import

This feature just apply to v2

You need to install babel-plugin-on-demand-import:

  1. npm i babel-plugin-on-demand-import -D

Then add it to your .babelrc:

  1. // v2
  2. {
  3. // ...
  4. "plugins": [
  5. ["on-demand-import" {
  6. "libraryName": "v2-datepicker"
  7. }]
  8. ]
  9. }
  10. // v3
  11. {
  12. // ...
  13. "plugins": [
  14. ["on-demand-import" {
  15. "libraryName": "v2-datepicker",
  16. "libraryName": "lib/components"
  17. }]
  18. ]
  19. }
  1. // Only import DatePicker component
  2. import { DatePicker } from 'v2-datepicker';
  3. Vue.use(DatePicker);
  4. <v2-datepicker v-model="val"></v2-datepicker>
  5. // Only import DatePickerRange component
  6. import { DatePickerRange } from 'v2-datepicker';
  7. Vue.use(DatePickerRange);
  8. <v2-datepicker-range v-model="val2"></v2-datepicker-range>

Custom Locales

The components native supports only two languages: cn(chinese) and en(english) since v3.1.0, if you want to custom locale, do it by customLocals prop:

  1. <template>
  2. <v2-datepicker format="MM/DD/YYYY" :lang="lang" :customLocals="locals" v-model="date"></v2-datepicker>
  3. </template>
  4. // js
  5. import locals from 'path/to/your/locals'
  6. export default {
  7. data () {
  8. return {
  9. lang: 'it',
  10. locales
  11. }
  12. }
  13. }
  14. // locales.js
  15. export default {
  16. 'it': {
  17. 'months': {
  18. 'original': ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
  19. 'abbr': ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic']
  20. },
  21. 'days': ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab']
  22. },
  23. 'lang-key': {
  24. 'months': {
  25. 'original': ['value1', 'value2', '...'],
  26. 'abbr': ['value1', 'value2', '...']
  27. },
  28. 'days': ['value1', 'value2', '...']
  29. }
  30. }

Available Props

The v2-datepicker component

Attribute Type Accepted Values Default Description
value Date anything accepted by new Date() - default date of the date-picker
lang String cn(chinese)/en(english) cn set local language of the date-picker
customLocals Object - {} custom locale
format String year yyyy/YYYY, month MM, day dd yyyy/MM/dd format of the displayed value in the span box
placeholder String - 选择日期/Choosing date… placeholder text
disabled Boolean - false disabled date-picker
picker-options Object - {} additional options, check the table below
render-row Number 6/7 7 render rows of datepicker
default-value Date anything accepted by new Date() - default date of the calendar

The v2-daterange-picker component

Attribute Type Accepted Values Default Description
value Array anything accepted by new Date() - default date of the daterange-picker
lang String cn(chinese)/en(english) cn set local language of the daterange-picker
customLocals Object - {} custom locale
format String year yyyy/YYYY, month MM, day dd yyyy/MM/dd format of the displayed value in the span box
placeholder String - 开始时间-结束时间/Choosing date range… placeholder text
disabled Boolean - false disabled daterange-picker
range-separator String - ‘-‘ range separator
unlink-panels Boolean - false unlink two date-panels in range-picker
picker-options Object - {} additional options, check the table below
default-value Date anything accepted by new Date() - default date of the calendar

Picker Options

Attribute Type Accepted Values Default Description
shortcuts Object[] - - a { text, onClick } object array to set shortcut options, check the table below
disabledDate Function - - a function determining if a date is disabled with that date as its parameter. Should return a Boolean

shortcuts

Attribute Type Accepted Values Default Description
text String - - title of the shortcut
onClick Function - - callback function, triggers when the shortcut is clicked

Event

Event Name Description Parameters
change triggers when the selected value changes component’s binding value

Development

  1. git clone git@github.com:dwqs/v2-datepicker.git
  2. cd v2-datepicker
  3. npm i
  4. npm start

LICENSE

MIT