UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

120 lines (75 loc) 5.75 kB
--- title: DateStrip subtitle: 日期横条 group: 表单组件 version: 1.29+ --- ## 介绍 以横条的方式展示范围内的日期,可以进行单选、多选、范围选择等操作。 ## 引入 ```js import DateStrip from 'sard-uniapp/components/date-strip/date-strip.vue' ``` ## 代码演示 ### 基础用法 使用 `v-model` 绑定当前值。 <<< @demo/date-strip/demo/Basic.vue ### 类型 日期横条可以选择单个值、多个值以及进行范围选择。 <<< @demo/date-strip/demo/Type.vue ### 自定义日期范围 可以使用 `min``max` 属性限制可以选择的日期范围。 <<< @demo/date-strip/demo/MinMax.vue ### 最多选择天数 在多个值和范围选择中,使用 `maxDays` 属性可以限制最多可选的天数。超出允许选择的天数后会调用 `overMaxDays` 属性配置的函数。 <<< @demo/date-strip/demo/MaxDays.vue ### 禁用日期 `disabledDate` 属性配置的函数接收一个日期对象,如果此函数返回真则禁用这个日期。 <<< @demo/date-strip/demo/DisabledDate.vue ### 过滤日期 `filter` 属性配置的函数可以过滤要展示的日期。 <<< @demo/date-strip/demo/Filter.vue ### 格式化日期 `formatter` 属性可以配置一个接收 `CalendarDay` 类型对象的函数,通过此对象可以自定义当前日期展示的内容和样式。 <<< @demo/date-strip/demo/Formatter.vue ### 展示农历 可以设置 `show-lunar` 属性显示农历信息。 <<< @demo/date-strip/demo/ShowLunar.vue ### 自定义样式 可以设置 css 变量来改变默认样式。 <<< @demo/date-strip/demo/Style.vue ## API ### DateStripProps | 属性 | 描述 | 类型 | 默认值 | | --------------- | ------------------------------------------------------- | --------------------------------------------------------- | ----------------------- | | root-class | 组件根元素类名 | string | - | | root-style | 组件根元素样式 | StyleValue | - | | type | 日期横条类型 | CalendarType | 'single' | | model-value | 选中的日期,单选时为单个日期,多选和范围时为日期数组 | Date \| Date[] \| string \| string[] | - | | min | 可选择的最小日期 | Date | 当前周上一周的起始日 | | max | 可选择的最大日期 | Date | 当前周下一周的结束日 | | disabled-date | 指定禁选日期,返回 `true` 表示禁选 | `(date: Date) => boolean` | - | | filter | 只展示通过过滤的日期 | `(date: Date) => boolean` | - | | max-days | 最多可选天数,用于多选和范围 | number | Number.MAX_SAFE_INTEGER | | over-max-days | 超出最多可选天数时触发 | `() => void` | - | | formatter | 通过修改 `CalendarDay` 对象属性值,自定义日期文案和样式 | `(day: CalendarDay) => void` | - | | allow-same-day | 范围选择中,是否允许起始和结束为同一天 | boolean | false | | value-format | 绑定值的格式,不指定则绑定值为 Date 对象 | string [详见特殊符号](../utilities/date#日期格式特殊符号) | - | | start-date-text | 开始日期文字 | string | '开始' | | end-date-text | 结束日期文字 | string | '结束' | | same-date-text | 选择同一天日期文字 | string | '开始/结束' | | show-lunar | 是否显示农历信息 | boolean | false | ### DateStripEmits | 事件 | 描述 | 类型 | | ------------------ | ------------------------ | ------------------------------------------------------- | | update:model-value | 点击并选中任意日期时触发 | `(value: Date \| Date[] \| string \| string[]) => void` | | change | 点击并选中任意日期时触发 | `(value: Date \| Date[] \| string \| string[]) => void` | ### CalendarType ```ts type CalendarType = 'single' | 'multiple' | 'range' ``` ### CalendarDay 与 [Calendar 组件](./calendar#CalendarDay) 中的 `CalendarDay` 一致。 ## 主题定制 ### CSS 变量 <<< @comp/date-strip/variables.scss#variables