Tailwind Picker是为Tailwind CSS框架创建的Vue.js日期选择器组件。
v1.1.4(07/08/2020)
v1.1.3(07/08/2020)
# 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',
},
}),
}