当前位置:主页 > 网页前端 > vue >

vue项目中引入vue-datepicker插件的详解

时间:2022-09-03 11:02:30 | 栏目:vue | 点击:

项目需求中有一个日期选择限制的功能点:今天之前不可选,周末不可选。

传统的input type='date无法做到,所以使用了这个插件来实现功能。

1.引入vue-datepicker loader:npm install vue-datepicker

2.引入moment loader:npm install moment --save

因为vue-datepicker是依赖vue和moment的,所以也应提前 引入moment;

3.在用到该插件的地方引入: import myDatepicker from 'vue-datepicker/vue-datepicker-es6.vue';

/* vue 2.0 */

页面中实现如下:

<template>
        <date-picker :date="startTime" :option="option" :limit="limit" id="select_date"></date-picker>
</template>
export default {
    components: {
      'date-picker': myDatepicker
    },
    data() {
      return {
        startTime: {
          time: ''
        },
        endTime: {
          time: ''
        },
        option: {
          type: 'day',
          week: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
          month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
          format: 'YYYY-MM-DD',
          placeholder: 'when?',
          inputStyle: {
            'display': 'inline-block',
            'padding': '4px',
            'line-height': '17px',
            'font-size': '14px',
            'width': '190px',
            'border': '1px solid #ddd',
            // 'box-shadow': '0 1px 3px 0 rgba(0, 0, 0, 0.2)',
            'border-radius': '5px',
            'color': '#5F5F5F'
          },
          color: {
            header: '#ccc',
            headerText: '#f00'
          },
          buttons: {
            ok: 'Ok',
            cancel: 'Cancel'
          },
          overlayOpacity: 0.5, // 0.5 as default
          dismissible: true // as true as default
        },
        timeoption: {
          type: 'min',
          week: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
          month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
          format: 'YYYY-MM-DD HH:mm'
         },
         multiOption: {
          type: 'multi-day',
          week: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
          month: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
          format:"YYYY-MM-DD HH:mm"
         },
        limit: [{
          type: 'weekday',
          available: [1, 2, 3, 4, 5]
        }, {
          type: 'fromto',
          from: getLocalTime(date),
          to: ''
        }]
      }
    }
  }

您可能感兴趣的文章:

相关文章