使用element ui datapicker 选择日期范围并设置默认选择一年时间
本文转载自CSDN博主「前端李小白」
https://blog.csdn.net/qq_42268364/article/details/97765590
在template中
<el-date-picker
v-model="timeData"
type="daterange"
size="mini"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
class="data-pick"
unlink-panels
></el-date-picker>
在选择日期范围时,默认情况下左右面板会联动。如果希望两个面板各自独立切换当前月份,可以使用unlink-panels属性解除联动。
日期格式
使用format指定输入框的格式;使用value-format指定绑定值的格式。默认情况下,组件接受并返回Date对象。 如需修改日期格式,可参考官网配置项https://element.eleme.io/#/zh-CN/component/date-picker
在data里面
data () {
return {
timeData:[]
}
在methods里面设置默认一年时间
methods: {
/* 获取过去时间,并传值给现在时间 */
getPassYearFormatDate () {
var nowDate = new Date()
var date = new Date(nowDate)
date.setDate(date.getDate() - 365)
var seperator1 = '-'
var year = date.getFullYear()
var month = date.getMonth() + 1
var strDate = date.getDate()
if (month >= 1 && month <= 9) {
month = '0' + month
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate
}
var formatDate = year + seperator1 + month + seperator1 + strDate
this.getNowFormatDate(formatDate)
},
/* 获取现在时间,并接受过去时间的值 */
getNowFormatDate (formatDate) {
var date = new Date()
var seperator1 = '-'
var year = date.getFullYear()
var month = date.getMonth() + 1
var strDate = date.getDate()
if (month >= 1 && month <= 9) {
month = '0' + month
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate
}
var nowData = year + seperator1 + month + seperator1 + strDate
this.timeData= [formatDate, nowData] // 默认赋值一年时间
}
}
别忘了在mounted里面调用一下
mounted(){
this.getPassYearFormatDate ()
}
然后在你需要的地方传值就可以了,例如:
beginDate: this.timeData[0], //起始时间
endDate: this.timeData[1], //终止时间
效果如下,一开始就有默认一年的时间: