总结爬过的那些坑
谈一谈自己对picker用法的感受
最近做项目,用了一个非常好用的移动端组件--picker,无论样式上、流畅度上都非常符合我们预期,没有卡顿,必须赞一个。
因为是第一次用,在用的过程中还是遇到了一些小问题,比如充填某一列数据,比如默认选中某一条数据,直到看到了作者的原文,才霍然开朗,这是作者原文Git地址https://github.com/ustbhuangyi/picker
充填某项数据
var picker7El = document.getElementById('picker7');
function getJfyeData(){
var Data = new Date();
var Year = Data.getFullYear(); //获取完整的年份
var Day = new Date().getDate();
var Month = Data.getMonth(); //月份
if(Day>15){
Month = new Date().getMonth()+1;
}
for(var i=0;i<10;i++){
var dataList ={};
dataList.text = Year+i;
dataList.value = Year+i;
data14.push(dataList);
}
for(var i=Month;i<12;i++){
var dataList ={};
dataList.text = ("0"+(i+1)).substring(("0"+(i+1)).length-2,("0"+(i+1)).length);
dataList.value = ("0"+(i+1)).substring(("0"+(i+1)).length-2,("0"+(i+1)).length);
data15.push(dataList);
}
data16 = data15;
var picker7 = new Picker({
title: '这里是title',
data: [data14,data16],
selectedIndex: [index1,index2]//默认选中的index值
});
picker7.on('picker.select', function (selectedVal, selectedIndex) {
$("#picker7").find("input").val(data14[selectedIndex[0]].text+'-'+data16[selectedIndex[1]].text);
});
picker7.on('picker.change', function (index, selectedIndex) {
if(index=="0"){
var Year =new Date().getFullYear();
if(data14[selectedIndex].value==Year){
data16=data15;
}else{
data16=data2;
}
picker7.refillColumn('1', data16);//充填第2列,一定要在判断里写,不然会找不到第几列
}
});
picker7.on('picker.valuechange', function (selectedVal, selectedIndex) {
console.log(selectedVal);
});
if(picker7El){
picker7El.addEventListener('click', function () {
picker7.show();
});
}
}
计算年月加上几个月之后的年月方法
function jsAfterMonth(year,month,length){
var d = new Date(year, month);
d.setMonth((d.getMonth()-1) + length);
var yy1 = d.getFullYear();
var mm1 = d.getMonth()+1;
if (mm1 < 10 ) {
mm1 = '0' + mm1;
}
return yy1+"."+mm1;
}