微信外包項(xiàng)目劈狐,測(cè)試通過,部署后發(fā)現(xiàn)某日期控件無(wú)法顯示陵叽,界面卡死狞尔。
經(jīng)過排查發(fā)現(xiàn)問題出在js上。
外包人員在調(diào)用weui.datePicker時(shí)給的起始日期超限導(dǎo)制巩掺。代碼如下:
不應(yīng)該日直接加7會(huì)導(dǎo)至4月35日出現(xiàn)偏序,所以出現(xiàn)問題。
var start = new Date();
var hour = start.getHours();
var year = start.getFullYear();
var month = start.getMonth() + 1;
var day = start.getDate();
if (hour<12) {
var start_date = year+'-'+month+'-'+(start.getDate());
var end_date = year+'-'+month+'-'+(start.getDate()+7);
} else {
var start_date = year+'-'+month+'-'+(start.getDate()+1);
var end_date = year+'-'+month+'-'+(start.getDate()+7);
}
weui.datePicker({
start: start_date,
end: end_date,
defaultValue: [year, month, day],
onChange: function (result) {
// console.log(result);
},
onConfirm: function (result) {
var yearSelection = result[0].value;
var monthSelection = result[1].value;
var daySelection = result[2].value;
$('#txtBeginTime').val(`${yearSelection}-${monthSelection}-${daySelection}`);
},
id: 'datePicker'
});
正確的 end_date \ start_date 取值如下:
var date2 = new Date(start);
date2.setDate(start.getDate()+7);
var end_date = date2.getFullYear()+"-"+(date2.getMonth()+1)+"-"+date2.getDate();