項目上線,發現后台管理系統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' //可任意組合
});
});