UNPKG

@daysnap/horn-ui

Version:

hron ui

134 lines (115 loc) 2.6 kB
# HorCalendar ### 介绍 基础的 日历选择 组件 ## 代码演示 ### 基础用法 ```html <hor-cell label="提车日期(单选概念)" :value="takeDate" /> <hor-calendar type="single" :maxDate="new Date(2024, 3, 20)" :minDate="new Date(2022, 3, 20)" :formatDays="formatDays" v-model="takeDate" :initialValue="initialValue" /> <script setup lang="ts"> import { HorCalendar, HorCell } from '@daysnap/horn-ui' import { ref } from 'vue' // const takeDate = ref(['2023/05/24']) const takeDate = ref([]) const initialValue = ref(new Date(2023, 2, 1)) const formatDays = (val: CalendarDay[]) => { val.forEach((item, index) => { if ([6, 0].includes(new Date(item.dateTime).getDay())) { val[index].disable = true } }) return val } </script> ``` ### 日期区间 ```html <hor-cell label="提车日期(时间段)" :formatter="(v) => v.join('-')" :value="takeDateRange" /> <hor-calendar type="range" :maxRange="3" :maxDate="new Date(2023, 7, 20)" :minDate="new Date(2023, 1, 20)" v-model="takeDateRange" /> <script setup lang="ts"> import { HorCalendar, HorCell } from '@daysnap/horn-ui' import { ref } from 'vue' const takeDateRange = ref<string[]>([]) </script> ``` ### 多选日期 ```html <hor-cell label="提车日期(多选概念)" :value="takeDateMulti" :formatter="(v) => v.join(',')" /> <hor-calendar type="multiple" :maxRange="10" :maxDate="new Date(2023, 7, 20)" :minDate="new Date(2023, 1, 20)" v-model="takeDateMulti" /> <script setup lang="ts"> import { HorCalendar, HorCell } from '@daysnap/horn-ui' import { ref } from 'vue' const takeDateMulti = ref<string[]>([]) </script> ``` ## API ### 属性 Props <table> <tr> <td>名称</td> <td>类型</td> <td>默认值</td> </tr> <tr v-for="(item, key) in horCalendarProps" :key="key"> <td>{{ key }}</td> <td>{{ parseType(item.type || item) }}</td> <td>{{ reserve(item.default, '-') }}</td> </tr> </table> <table> <tr> <td>名称</td> <td>说明</td> </tr> <tr> <td>xx</td> <td>xxx</td> </tr> </table> ### 插槽 Slots <table> <tr> <td>名称</td> <td>说明</td> </tr> <tr> <td>xx</td> <td>xxx</td> </tr> </table> ### 实例方法 <table> <tr> <td>名称</td> <td>说明</td> </tr> <tr> <td>xx</td> <td>xxx</td> </tr> </table> <script setup lang="ts"> import { reserve } from '@daysnap/utils' import { HorCell } from '../hor-cell' import { HorCalendar, horCalendarProps } from '.' import { parseType } from '../utils' </script>