2.x版本laydate组件:format:'yyyy-MM'时,min,max属性

讨论 未结 1 2143
爱咖啡
爱咖啡 2017-8-26
悬赏:5飞吻
废话不多说,直接贴代码:
//layui日期时间组件绑定
layui.use('laydate', function(){
var laydate = layui.laydate;
var date = new Date();
var year = date.getFullYear();
var max = year+"-12";
var start = {
format:'yyyy-MM',
min:'2013-01',
max:max,
type:'month',
theme:'grid',
showBottom:false,
change:function (value, date, endDate) {
$("#date").val(value);
getDataJson(value);
}
};
start.elem = '#date';
//执行一个laydate
laydate.render(start);
});
问题1描述:
在如上情况下,我设置了min:‘2013-01’,max:'2017-12',但是除了当月之外,尽管在2013-01 ~2017-12这个合法范围内的月份都不可选(当月除外)。如下图所示:


问题2描述:
在问题1的基础上,选择年份左右按钮可以不受2013~2017的限制,如下图:



求大神们给以解答,这个问题是否在你们那里存在同样的情况。
回帖
  • 爱咖啡
    2017-8-28
    该问题已经从闲心GitHub源码中找到答案。这是我的错误,min和max不管format取何种都需要使用 yyyy-MM-dd HH:mm:ss的格式进行设置值,如果我设置yyyy-MM将无法设置成功。闲心大神的代码如下:
    //默认配置
    Class.prototype.config = {
    type: 'date' //控件类型,支持:year/month/date/time/datetime
    ,range: false //是否开启范围选择,即双控件
    ,format: 'yyyy-MM-dd' //默认日期格式
    ,value: null //默认日期,支持传入new Date(),或者符合format参数设定的日期格式字符
    ,min: '1900-1-1' //有效最小日期,年月日必须用“-”分割,时分秒必须用“:”分割。注意:它并不是遵循 format 设定的格式。
    ,max: '2099-12-31' //有效最大日期,同上
    ,trigger: 'focus' //呼出控件的事件
    ,show: false //是否直接显示,如果设置true,则默认直接显示控件
    ,showBottom: true //是否显示底部栏
    ,btns: ['clear', 'now', 'confirm'] //右下角显示的按钮,会按照数组顺序排列
    ,lang: 'cn' //语言,只支持cn/en,即中文和英文
    ,theme: 'default' //主题
    ,position: null //控件定位方式定位, 默认absolute,支持:fixed/absolute/static
    ,calendar: false //是否开启公历重要节日,仅支持中文版
    ,mark: {} //日期备注,如重要事件或活动标记
    ,zIndex: null //控件层叠顺序
    ,done: null //控件选择完毕后的回调,点击清空/现在/确定也均会触发
    ,change: null //日期时间改变后的回调
    };
    如有相似的问题,记得看源码
    0 回复
本帖已设置禁止回复