Tailwind.css的优雅日期选择器组件– Tailwind Picker

Tailwind.css的优雅日期选择器组件– Tailwind Picker
插件名称 vue-tailwind-picker
发布时间 2020年5月26日
插件作者 kenhyuwa

Tailwind Picker是为Tailwind CSS框架创建的Vue.js日期选择器组件。

变更日志:

v1.1.6(01/21/2020)

  • 修复问题格式日期

v1.1.5(10/16/2020)

  • 更新

v1.1.4(07/08/2020)

  • 现在支持SSR
  • 支持空初始值

v1.1.3(07/08/2020)

  • 错误修正

更多功能:

  • 开始/结束日期。
  • 自定义日期格式。
  • 支持事件。
  • 自定义样式。
  • 作为Nuxtjs插件使用。

安装和下载:

# Yarn
$ yarn add vue-tailwind-picker

# NPM
$ npm install vue-tailwind-picker --save

如何使用它:

1.将组件导入到Tailwind项目中。

import Vue from 'vue'
import VueTailwindPicker from 'vue-tailwind-picker'
Vue.use(VueTailwindPicker);

2.创建一个默认的日期选择器。

<VueTailwindPicker
    @change="(v) => checkin = v"
  >
  <input type="text" v-mode="checkin"/>
</VueTailwindPicker>
export default {
  components: {
    VueTailwindPicker  
  },
  data(){
    return {
      checkin: '',
    }   
  }
}

3.自定义日期选择器的样式。

<VueTailwindPicker
    :theme="{
      background: '#1A202C',
      text: 'text-white',
      border: 'border-gray-700',
      currentColor: 'text-gray-200',
      navigation: {
        background: 'bg-gray-800',
        hover: 'hover:bg-gray-700',
        focus: 'bg-gray-700',
      },
      picker: {
        rounded: 'rounded-md',
        selected: {
          background: 'bg-teal-400',
          border: 'border-teal-400',
          hover: 'hover:border-teal-400',
        },
        holiday: 'text-red-400',
        weekend: 'text-green-400',
        event: 'bg-blue-500',
      },
      event: {
        border: 'border-gray-700',
      },
    }"
    @change="(v) => checkin = v"
  >
  <input type="text" v-mode="checkin"/>
</VueTailwindPicker>

4.所有默认props。

startDate: {
  type: String,
  required: false,
  default: dayjs().format('YYYY-MM-DD'),
},
endDate: {
  type: String,
  required: false,
  default: undefined,
},
// Next future
disableDate: {
  type: Array,
  required: false,
  default: () => [],
},
eventDate: {
  type: Array,
  required: false,
  default: () => [],
},
formatDate: {
  type: String,
  required: false,
  default: 'YYYY-MM-DD',
},
// Confused with this
formatDisplay: {
  type: String,
  required: false,
  default: 'YYYY-MM-DD',
},
inline: {
  type: Boolean,
  required: false,
  default: false,
},
// Not make sure with this
tailwindPickerValue: {
  type: String,
  required: false,
  default: '',
},
// Next future
dateRange: {
  type: Boolean,
  required: false,
  default: false,
},
// Next future
autoClose: {
  type: Boolean,
  required: false,
  default: true,
},
theme: {
  type: Object,
  required: false,
  default: () => ({
    background: '#FFFFFF',
    text: 'text-gray-700',
    border: 'border-gray-200',
    currentColor: 'text-gray-200',
    navigation: {
      background: 'bg-gray-100',
      hover: 'hover:bg-gray-200',
      focus: 'bg-gray-200',
    },
    picker: {
      rounded: 'rounded-full',
      selected: {
        background: 'bg-red-500',
        border: 'border-red-500',
        hover: 'hover:border-red-500',
      },
      holiday: 'text-red-400',
      weekend: 'text-green-400',
      event: 'bg-indigo-500',
    },
    event: {
      border: 'border-gray-200',
    },
  }),
}