layui的laydate组件不可二次渲染问题(laydate取值)

在laydate组件中,回调方法如下,但是并不生效!

laydate.render({
  elem: '#test'
  ,done: function(value, date, endDate){
    console.log(value);   //得到日期生成的值,如:2017-08-18
    console.log(date);    //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
  }
});

在layui官网,贤心巨佬回复网友的解决办法是在done下添加

$('#test').change();

则:

laydate.render({
  elem: '#test'
  ,done: function(value, date, endDate){
    $('#test').change();
    console.log(value);   //得到日期生成的值,如:2017-08-18
    console.log(date);    //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}
    console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。
  }
});

可是,测试发现依然无效,开始以为可能还有别的问题。

所以所以,曲线救国。

二次渲染失败的问题,那就直接把监听回调改为第一次渲染。

好了,问题折中解决。

因为我想用的是年月选择,而现在只能年月日选择。。。。

记录下。

时:2019年4月20日16点17分

以上

后来,想不通,为什么一定要二次渲染呢?

一次渲染,把回调写一起呢?

如下:

        // 年月选择器 监听时间控件
        laydate.render({
            elem: '#dataTime',
            type: 'month',
            done: function (value, date, endDate) {
                console.log(value); //得到日期生成的值,如:2017-08-18
            }
        });

事实证明此方法可行!

 

 

你可能感兴趣的:(layui的laydate组件不可二次渲染问题(laydate取值))