项目上线,发现后台管理系统layui的子页面出现时间控件闪退的问题,根本选取不到时间。
其原因是:如果出现页面找到多个节点,只有第一个节点能正常使用后面的节点都会闪退,可以理解为目前laydate不支持一次性render多个节点。不是什么实例重复的问题,因为我每个页面创建的实例都不一样还是闪退。而后台管理系统中这种父子页面确实有多个页面使用了时间控件,从而render多个节点。
解决方法:
laydate文件中的默认配置,trigger: 'focus' //呼出控件的事件这个focus改成click。
测试部署上线有效。
layui.use('laydate', function(){
var laydate = layui.laydate;
//日期时间选择器
laydate.render({
elem: '#startTime'
,type: 'datetime'
,trigger: 'click'//呼出事件改成click
//,format: 'yyyy-MM-dd HH:mm:ss' //可任意组合
});
//日期时间选择器
laydate.render({
elem: '#endTime'
,type: 'datetime'
,trigger: 'click'//呼出事件改成click
// ,format: 'yyyy-MM-dd HH:mm:ss' //可任意组合
});
});