Framework7 - 日历参数
说明
Framework7 提供了与日历一起使用的参数列表,列于下表 −
S.No | 参数和说明 | 类型 | 默认 |
---|---|---|---|
常用选择器模式组件参数 | |||
1 | container 这是放置生成的日历 HTML 的地方。它仅用于内联选择器。 |
字符串或 HTMLElement | - |
2 | input 它是具有相关输入元素的字符串或 HTMLElement。 |
字符串或 HTMLElement | - |
3 | scrollToInput 它是打开日历时输入的滚动视口。 |
boolean | true |
4 | inputReadOnly 用于设置某些输入的 readonly 属性。 |
boolean | true |
5 | convertToPopover 用于将日历模式转换为大屏幕上的弹出窗口。 |
boolean | true |
6 | onlyOnPopover 如果启用,日历将始终在弹出窗口中打开。 |
boolean | false |
7 | cssClass 如果启用,日历将始终在弹出窗口中打开。 |
string | - |
8 | closeByOutsideClick 如果启用,当您单击选择器外部时,选择器将关闭选择器。 |
boolean | true |
9 | 工具栏 启用日历模式工具栏。 |
boolean | true |
10 | 工具栏关闭文本 工具栏关闭按钮的文本。 |
string | 完成 |
11 | toolbarTemplate 这是工具栏HTML模板。默认情况下它是HTML字符串,具有以下模板 − <div class = "toolbar"> <div class = "toolbar-inner"> {{monthPicker}} {{yearPicker}} </div> </div> |
string | - |
具体日历参数 | |||
1 | 值 这是包含初始选定日期的数组。 |
array | - |
2 | 已禁用 这是附加的已禁用日期。 |
日期范围 | - |
3 | 事件 这是包含事件的日期,将标有点在日历日。 |
日期范围 | - |
4 | rangesClasses 用于添加自定义 CSS 类以进行其他样式设置。 |
array | - |
5 | formatValue 用于格式化输入值并返回新的/格式化的字符串值的函数。 values 是由表示所选日期的项目组成的数组。 |
function (p, values) | - |
6 | monthNames 这是包含完整月份的数组。 |
array | ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August' , 'September' , 'October', 'November', 'December'] |
7 | monthNamesShort 这是月份名称缩写形式的数组。 |
array | ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] |
8 | dayNames 这是星期的数组天。 |
array | ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] |
9 | dayNamesShort 这是星期几名称的缩写形式的数组。 |
array | ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'] |
10 | updateValuesOnTouchmove 触摸移动时更新选择器和输入值。 |
boolean | true |
11 | firstDay 这是一周的第一天。默认情况下,它是 1 - 星期一。 |
number | 1 |
12 | weekendDays 这是一个带有周末天数索引号的数组。默认情况下,是星期六和星期日。 |
array | [0, 6] |
13 | dateFormat 这是默认的日期格式,以下是可用的表达式 −
|
string | 'yyyy-mm-dd' |
14 | multiple 它允许您选择多个日期/值。 |
boolean | false |
15 | rangePicker 启用此选项以启用范围选择器。 |
boolean | false |
16 | direction 月份布局方向,可以是水平或垂直。 |
string | 水平 |
17 | minDate 允许的最小日期。 |
日期 | null |
18 | maxDate 这是允许的最大日期。 |
Date | null |
19 | touchmove 如果启用此功能,则日历月份在触摸移动期间会跟随手指滑动。 |
boolean | true |
20 | animate 它允许月份之间的转换。 |
boolean | true |
21 | closeOnSelect 如果启用,则当用户选择日期时,日历将关闭。 |
boolean | false |
22 | weekHeader 它表示星期标题,以星期几的缩写形式表示。 |
boolean | true |
23 | monthPicker 如果启用,则在工具栏中显示月份选择器。 |
boolean | true |
24 | monthPickerTemplate 这是月份选择器 HTML 模板。默认情况下,它如下所示− <div class = "picker-calendar-month-picker"> <a href = "#" class = "link icon-only picker-calendar-prev-month"> <i class = "icon icon-prev"></i> </a> <span class = "current-month-value"></span> <a href = "#" class = "link icon-only picker-calendar-next-month"> <i class = "icon icon-next"></i> </a> </div> |
string | - |
25 | yearPicker 如果启用,则在工具栏中显示年份选择器。 |
boolean | true |
26 | yearPickerTemplate 这是年份选择器 HTML 模板。默认情况下,它如下所示 − <div class = "picker-calendar-year-picker"> <a href = "#" class = "link icon-only picker-calendar-prev-year"> <i class = "icon icon-prev"></i> </a> <span class = "current-year-value"></span> <a href = "#" class = "link icon-only picker-calendar-next-year"> <i class = "icon icon-next"></i> </a> </div> |
string | - |
Callbacks | |||
1 | onChange 这是当选择器值改变时运行的回调函数。它接受 values 和 displayValues 数组作为参数,其中每个项目代表相关列的 value/display value。 |
function (p, values, displayValues) | - |
2 | onMonthAdd 当新生成的月份 HTML 元素添加到日历时,将运行回调函数。 |
function (p, monthContainer) | - |
3 | onDayClick 此回调如果用户点击任何日期,将执行该函数。 |
function (p, dayContainer, year, month, day) | - |
4 | onMonthYearChangeStart 此回调函数将在过渡到另一个月份/年份的开始时执行。 |
function (p, year, month) | - |
5 | onMonthYearChangeEnd 此回调函数将在过渡到另一个月份/年份的结束时执行。 |
function (p, year, month) | - |
6 | onOpen 此回调函数将在选择器打开时执行。 |
function (p) | - |
7 | onClose 此回调函数将在选择器关闭时执行。 |
function (p) | - |
日期范围
日历参数(例如 disabled、events 和 rangesClasses)接受所谓的日期范围。指定和捕获日期的所有可能组合非常容易。以下代码显示如何使用带有日期的数组 −
var myCalendar = myApp.calendar ({ ... //2016 年 12 月 1 日和 2016 年 12 月 10 日禁用: disabled: [new Date(2016, 12 , 1), new Date(2016, 12, 10)], ... });
您可以在需要返回 true 或 false 的地方使用自定义函数,如以下代码所示 −
var myCalendar = myApp.calendar ({ ... //已禁用 2016 年 12 月的所有日期 disabled: function (date) { if (date.getFullYear() === 2016 && date.getMonth() === 12) { return true; } else { return false; } }, ... });
您还可以使用以下列出的任何方式 −
具有 from 和 to 属性的对象。
仅 from 或 to 属性。
具有混合日期和对象的数组。
var myCalendar = myApp.calendar ({ ... //禁用 2016 年 12 月 1 日至 2016 年 12 月 10 日之间的所有日期 disabled: { from: new Date(2016, 12, 1), to: new Date(2016, 12, 10) }, ... }); Or var myCalendar = myApp.calendar ({ ... //自 2015 年 12 月起禁用一切 disabled: { from: new Date(2016, 12, 1) }, ... }); Or var myCalendar = myApp.calendar ({ ... events: [ new Date(2016, 12, 1), new Date(2016, 12, 10), { from: new Date(2016, 12, 15), to: new Date(2016, 12, 20) }, { from: new Date(2016, 12, 25), to: new Date(2016, 12, 30) } ], ... });
rangesClasses
它采用具有日期范围和类名的对象数组,如以下代码所示 −
var myCalendar = myApp.calendar ({ ... //Add classes for november and december rangesClasses: [ //为所有 11 月的日期添加 day-november 类 { // cssClass 属性中此范围的字符串 CSS 类名 cssClass: 'day-november ', //string CSS 类 // range 属性中的日期范围 range: function (date) { return date.getMonth() === 11 } }, //为 2016 年 12 月 1 日至 10 日添加day-holiday类 { cssClass: 'day-holiday', range: { from: new Date(2016, 12, 1), to: new Date(2016, 12, 10) } } ], ... });