定义一个函数,在函数内获取当前的年份,月份,定义一个空数组用来接收,循环年份以及月份获取具体年月。
调用的时候传入你想指定的年月就可以啦
getYearMonthArray(startYear, startMonth) {
//获取当前的年月
var currentDate = new Date();
var currentYear = currentDate.getFullYear();
var currentMonth = currentDate.getMonth() + 1;
//定义空数组
var yearMonthArray = [];
for (var year = startYear; year <= currentYear; year++) {
//如果是指定年份的那一年,当年的月份从你指定的月份开始,否则的话从1月开始
var startMonthOfYear = year === startYear ? startMonth : 1;
//如果是今年,那么今年的最后一个月份就是当下获取的月份,否则改年最后一个是12月
var endMonthOfYear = year === currentYear ? currentMonth : 12;
//循环本年的月份放入数组
for (var month = startMonthOfYear; month <= endMonthOfYear; month++) {
if (month < 10) {
month = '0' + month
}
month = String(month)
//拼接成你想要的数组
yearMonthArray.push({text:`${year}年${month}月`, value:`${year}-${month}`})
}
}
//日期排序(由近及远)
yearMonthArray.sort((a,b) => {
return a.date< b.date? 1 : -1;
})
this.setData({
monthDropdownList: yearMonthArray,
yearDropdownList: yearMonthArray
})