日期与时间选择器
laydate
提供了年、月、日、时、分、秒的多类型选择面板,也是 Layui 的常用组件之一。
默认为日期选择器,即上文「常规用法」示例中的效果。以下主要呈现其他类型选择器:
API | 描述 |
---|---|
var laydate = layui.laydate | 获得 laydate 模块。 |
laydate.render(options) | laydate 组件渲染,核心方法。 |
laydate.hint(id, opts) 2.8+ | 在对应的 laydate 组件面板上弹出提示层。 |
laydate.getInst(id) 2.8+ | 获取组件对应的渲染实例。 |
laydate.unbind(id) 2.8+ | 对目标元素解除当前实例的绑定。 |
laydate.close(id) 2.7+ | 关闭日期面板。 |
laydate.getEndDate(month, year) | 获取某月的最后一天。 |
laydate.render(options);
options
: 基础属性配置项。#详见属性
elem
属性外,其他基础属性也可以直接写在元素的 lay-options="{}"
属性中。<input type="text" id="ID-test-laydate">
<input type="text" class="class-test-laydate" lay-options="{value: '2016-10-14'}">
<input type="text" class="class-test-laydate" lay-options="{value: '2017-08-21'}">
<!-- import layui -->
<script>
layui.use(function(){
var laydate = layui.laydate;
// 单个渲染
laydate.render({
elem: '#ID-test-laydate'
});
// 批量渲染
laydate.render({
elem: '.class-test-laydate'
});
});
</script>
属性名 | 描述 | 类型 | 默认值 | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
elem |
绑定元素选择器或 DOM 对象 |
string/DOM | - | ||||||||||||||||||||||||||
组件面板选择类型。支持以下可选值:
效果详见: #示例 |
string |
|
|||||||||||||||||||||||||||
id |
设定实例唯一索引,以便用于其他方法对例进行相关操作。若该属性未设置,则默认从 |
string | - | ||||||||||||||||||||||||||
开启左右面板的范围选择,将会根据
详细用法可参考: #示例 |
boolean string array |
|
|||||||||||||||||||||||||||
rangeLinked 2.8+ |
是否开启日期范围选择时的区间联动标注模式,该模式必须开启 |
boolean |
|
||||||||||||||||||||||||||
fullPanel 2.8+ |
是否开启全面板,即日期和时间显示在同一面板。 当 |
boolean |
|
||||||||||||||||||||||||||
自定义日期和时间值的返回格式,默认值:
通过上述格式符组成日期时间字符串,如下所示:
相关用法可参考: #示例 |
|||||||||||||||||||||||||||||
formatToDisplay 2.9.9+ |
仅用于格式化日期显示的格式,不影响日期值
|
function | - | ||||||||||||||||||||||||||
初始值。值支持以下类型:
|
string date |
|
|||||||||||||||||||||||||||
isInitValue |
是否将初始值填充在目标元素中,一般配合 |
boolean |
|
||||||||||||||||||||||||||
shortcuts 2.8+ |
用于开启面板左侧的快捷选择栏。其值配置规则如下:
其中
详细用法可参考: #示例 |
string date array function |
- | ||||||||||||||||||||||||||
weekStart 2.7+ |
设置起始周。 支持 0-6 的数字,
|
number |
|
||||||||||||||||||||||||||
isPreview |
用于是否在面板左下角显示当前结果的预览。当 |
boolean |
|
||||||||||||||||||||||||||
限制可供选择的最小或最大日期时间值。默认值:
属性值支持以下可选类型:
示例:
相关效果可参考: #示例 |
|||||||||||||||||||||||||||||
disabledDate 2.9.8+ |
用于设置不可选取的日期。示例:
|
function | - | ||||||||||||||||||||||||||
disabledTime 2.9.8+ |
用于设置不可选取的时间。示例:
|
function | - | ||||||||||||||||||||||||||
trigger |
自定义弹出组件面板的事件 |
string |
|
||||||||||||||||||||||||||
show |
是否在渲染时默认显示组件面板。组件在执行渲染时,默认需通过触发目标元素的事件,方可显示组件面板,而该属性可跳过目标元素的事件,直接显示组件面板。 |
boolean |
|
||||||||||||||||||||||||||
position |
设置组件面板的定位方式。支持以下可选值:
|
string |
|
||||||||||||||||||||||||||
zIndex |
设置组件面板的层叠顺序。一般用于解决与其它元素的互相被遮掩的问题。若 |
number |
|
||||||||||||||||||||||||||
shade 2.8+ |
用于开启弹出日期面板时的遮罩。值支持以下可选类型:
效果详见: #示例 |
number array |
- | ||||||||||||||||||||||||||
showBottom |
是否显示组件面板的底部栏 |
boolean |
|
||||||||||||||||||||||||||
btns |
自定义排版组件面板底部栏中的按钮,按钮将按照数组顺序排列。内置按钮名称:
|
array | - | ||||||||||||||||||||||||||
autoConfirm 2.8+ |
是否在选中目标值时即自动确认。
|
boolean |
|
||||||||||||||||||||||||||
lang |
设置组件的语言版本。可选值如下:
|
string |
|
||||||||||||||||||||||||||
设置组件面板主题。除了默认主题,还内置主题:
注 2.8+ : 多个主题可用数组格式,如:
若第 1 个成员为 hex 格式的主色值,则第 2 个成员为辅色值
效果及用法详见: #示例 |
string array |
- | |||||||||||||||||||||||||||
calendar |
是否显示我国常见的公历节日。当 |
boolean |
|
||||||||||||||||||||||||||
自定义日期标记。该属性是对
前缀
效果详见: #示例 |
object | - | |||||||||||||||||||||||||||
holidays 2.7+ |
用于标注节假日及补班日。
相关日期值可详细参考国家每年公布的法定节假日安排 效果详见: #示例 |
array | - | ||||||||||||||||||||||||||
cellRender 2.9.9+ |
自定义单元格内容。
|
function | - | ||||||||||||||||||||||||||
组件面板初始打开的回调函数。返回的参数如下:
|
|||||||||||||||||||||||||||||
日期时间被切换后的回调函数。返回的参数如下:
|
|||||||||||||||||||||||||||||
日期时间选择完毕的回调函数,点击清空、现在、确定也均会触发。返回的参数如下:
|
|||||||||||||||||||||||||||||
onConfirm 2.8+ |
点击底部栏「确定」按钮时的回调函数。返回的参数同 |
||||||||||||||||||||||||||||
onNow 2.8+ |
点击底部栏「现在」按钮时的回调函数。返回的参数同 |
||||||||||||||||||||||||||||
onClear 2.8+ |
点击底部栏「清空」按钮时的回调函数。返回的参数同 |
||||||||||||||||||||||||||||
close 2.7+ |
组件面板被关闭(移除)后的回调函数。无返回参数。 |
laydate.hint(id, opts);
id
: 组件渲染时定义的 id
属性值opts
: 该方法支持的属性可选项,详见下表opts | 描述 | 类型 | 默认值 |
---|---|---|---|
content | 提示内容 | string | - |
ms | 提示层自动消失所需的毫秒数 | number | 3000 |
该方法用于在指定的日期面板弹出一个提示层。
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '', // 绑定元素选择器
id: 'test', // 自定义 id
// 其他属性 …
});
// 弹出提示
laydate.hint('test', {
content: '提示内容'
});
laydate.getInst(id);
id
: 组件渲染时定义的 id
属性值该方法用于获取 laydate 对应 id 的渲染实例,以获得该实例对应的成员属性。
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '', // 绑定元素选择器
id: 'test', // 自定义 id
// 其他属性 …
});
// 获取对应的实例
var inst = laydate.getInst('test');
console.log(inst); // 实例对象
laydate.unbind(id);
id
: 组件渲染时定义的 id
属性值该方法用于对目标元素对应的实例的绑定完全解除,即触发元素事件时,不再执行组件渲染。
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '', // 绑定元素选择器
id: 'test', // 自定义 id
// 其他属性 …
});
// 解除对应的实例绑定
laydate.unbind('test');
laydate.close(id);
id
: 组件渲染时定义的 id
属性值。 若 id
参数不填,则关闭当前打开的日期面板该方法用于关闭对应的日期面板
var laydate = layui.laydate;
// 渲染
laydate.render({
elem: '', // 绑定元素选择器
id: 'test', // 自定义 id
// 其他属性 …
});
// 关闭对应的日期面板
laydate.close('test');
laydate.getEndDate(month, year);
month
: 月份,默认为当前月。year
: 年份,默认为今年。该方法用于获取某个月份的最后一天
var days1 = laydate.getEndDate(10); // 获得 10 月的最后一天为 31 号
var days2 = laydate.getEndDate(2, 2080); // 获得 2080 年 2 月的最后一天为 29 号
laydate 曾经可作为单独组件使用,鉴于维护成本的考量,目前 laydate 组件已完全集成到 Layui 中,而单独版本已不做同步维护。 因此,建议直接使用 layui 中 laydate 即可。