diff --git a/docs/laydate/detail/options.md b/docs/laydate/detail/options.md
index 564e0ca7..1be45c1a 100644
--- a/docs/laydate/detail/options.md
+++ b/docs/laydate/detail/options.md
@@ -249,11 +249,12 @@ shortcuts: [
- 若为 `string` 类型,必须和 `format` 设置的格式对应;
- 若为 `date` 对象类型,则可通过操作 `new Date()` 来对选项值进行相应的返回计算;
- 若为 `array` 类型,则数组成员可填写开始日期和结束日期。
+- 若为 `function` 类型,返回值同上。2.8.16+
详细用法可参考: [#示例](#demo-shortcut)
-
string date array |
+string date array function |
- |
diff --git a/docs/laydate/examples/shortcut.md b/docs/laydate/examples/shortcut.md
index a1d31207..86676922 100644
--- a/docs/laydate/examples/shortcut.md
+++ b/docs/laydate/examples/shortcut.md
@@ -90,16 +90,21 @@ layui.use(function(){
var now = new Date();
now.setDate(now.getDate() - 1);
return now;
- }()
+ }
+ },
+ {
+ text: "今天",
+ value: function(){
+ return Date.now();
+ }
},
- { text: "今天", value: Date.now() },
{
text: "明天",
value: function(){
var now = new Date();
now.setDate(now.getDate() + 1);
return now;
- }()
+ }
},
{
text: "上个月",
@@ -108,7 +113,7 @@ layui.use(function(){
// now.setDate(now.getDate() - 1);
now.setMonth(now.getMonth() - 1);
return [now];
- }()
+ }
},
{
text: "上个月的前一天",
@@ -117,7 +122,7 @@ layui.use(function(){
now.setMonth(now.getMonth() - 1);
now.setDate(now.getDate() - 1);
return [now];
- }()
+ }
},
{
text: "某一天",
@@ -137,7 +142,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() - 1);
return now;
- }()
+ }
},
{
text: "明年",
@@ -145,7 +150,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() + 1);
return now;
- }()
+ }
}
]
});
@@ -161,7 +166,7 @@ layui.use(function(){
var now = new Date();
now.setMonth(now.getMonth() - 1);
return now;
- }()
+ }
},
{
text: "下个月",
@@ -169,7 +174,7 @@ layui.use(function(){
var now = new Date();
now.setMonth(now.getMonth() + 1);
return now;
- }()
+ }
},
{
text: "去年12月",
@@ -178,7 +183,7 @@ layui.use(function(){
now.setMonth(11);
now.setFullYear(now.getFullYear() - 1);
return now;
- }()
+ }
}
]
});
@@ -214,16 +219,21 @@ layui.use(function(){
var now = new Date();
now.setDate(now.getDate() - 1);
return now;
- }()
+ }
+ },
+ {
+ text: "今天",
+ value: function(){
+ return Date.now();
+ }
},
- { text: "今天", value: Date.now() },
{
text: "明天",
value: function(){
var now = new Date();
now.setDate(now.getDate() + 1);
return now;
- }()
+ }
},
{
text: "上个月",
@@ -232,7 +242,7 @@ layui.use(function(){
// now.setDate(now.getDate() - 1);
now.setMonth(now.getMonth() - 1);
return [now];
- }()
+ }
},
{
text: "上个月的前一天",
@@ -241,7 +251,7 @@ layui.use(function(){
now.setMonth(now.getMonth() - 1);
now.setDate(now.getDate() - 1);
return [now];
- }()
+ }
},
{
text: "某一天",
@@ -263,7 +273,7 @@ layui.use(function(){
var now = new Date();
now.setDate(now.getDate() - 1);
return now;
- }()
+ }
},
{ text: "今天", value: Date.now() },
{
@@ -272,7 +282,7 @@ layui.use(function(){
var now = new Date();
now.setDate(now.getDate() + 1);
return now;
- }()
+ }
},
{
text: "上个月",
@@ -281,7 +291,7 @@ layui.use(function(){
// now.setDate(now.getDate() - 1);
now.setMonth(now.getMonth() - 1);
return [now];
- }()
+ }
},
{
text: "上个月的前一天",
@@ -290,7 +300,7 @@ layui.use(function(){
now.setMonth(now.getMonth() - 1);
now.setDate(now.getDate() - 1);
return [now];
- }()
+ }
},
{
text: "某一天",
@@ -323,7 +333,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
},
{
text: "这个月",
@@ -344,7 +354,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
},
{
text: "下个月",
@@ -365,7 +375,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
}
]
});
@@ -383,7 +393,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() - 1);
return [now, new Date()];
- }()
+ }
},
{
text: "未来一年",
@@ -391,7 +401,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() + 1);
return [new Date(), now];
- }()
+ }
},
{
text: "近三年",
@@ -399,7 +409,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() - 3);
return [now, new Date()];
- }()
+ }
}
]
});
@@ -420,7 +430,7 @@ layui.use(function(){
date2.setMonth(0, 1);
date2.setHours(0, 0, 0, 0);
return [date1, date2.getTime() - 1];
- }()
+ }
},
{
text: "明年",
@@ -428,7 +438,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() + 1);
return [now, now];
- }()
+ }
},
{
text: "近三年",
@@ -436,7 +446,7 @@ layui.use(function(){
var now = new Date();
now.setFullYear(now.getFullYear() - 3);
return [now, new Date()];
- }()
+ }
}
]
});
@@ -457,7 +467,7 @@ layui.use(function(){
date2.setHours(11, 30, 0, 0);
return [date1, date2];
- })()
+ })
},
{
text: '13:00 到
15:00',
@@ -469,7 +479,7 @@ layui.use(function(){
date2.setHours(15, 0, 0, 0);
return [date1, date2];
- })()
+ })
}
]
});
@@ -498,7 +508,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
},
{
text: "这个月",
@@ -519,7 +529,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
},
{
text: "下个月",
@@ -540,7 +550,7 @@ layui.use(function(){
value.push(new Date(date2));
return value;
- }()
+ }
}
]
});
diff --git a/src/modules/laydate.js b/src/modules/laydate.js
index 3da065fe..36973a07 100644
--- a/src/modules/laydate.js
+++ b/src/modules/laydate.js
@@ -591,7 +591,9 @@
return shortcutBtns.join('');
}()).find('li').on('click', function (event) {
var btnSetting = options.shortcuts[this.dataset['index']] || {};
- var value = btnSetting.value || [];
+ var value = (typeof btnSetting.value === 'function'
+ ? btnSetting.value()
+ : btnSetting.value) || [];
if (!layui.isArray(value)) {
value = [value];
}