<el-date-picker
value-format="yyyy"
v-model="leftQuery.year"
:disabled="timeArr && timeArr.length != 0 ? true : false"
type="year"
placeholder="选择年"
@change=changeYear
:picker-options="pickerOptions"
>
</el-date-picker>
leftQuery: {
seasIds: undefined,
customerCode: undefined,
isReferral: undefined,
achievement: undefined,
beginAchievement:undefined,
endAchievement:undefined,
quarter: undefined,
year: new Date(new Date().getFullYear(), 0, 1),//年份,
pageSize: 10,
pageNum: 1,
},
//时间的禁用
pickerOptions: {
disabledDate(time) {
return new Date().getFullYear() < time.getFullYear();
}
},
new Date(new Date().getFullYear(), 0, 1)表示的是当前年份的第一天(即1月1日)。这是因为 el-date-picker
在处理年份选择时,实际上是在处理日期对象,但它只显示年份部分。将 v-model
绑定到这个日期对象上,就会使得日期选择器默认显示当前年份。 type="year" 只会看到当前年份,不会看到日期
formattedDate(dateStr) {
const date = new Date(dateStr);
return `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`;
},
console.log(this.formattedDate(this.leftQuery.year).slice(0,4),'566');
获取时间进行截取获取到只需要的年份即可