element日期时间段选择器的使用心得
使用时间段
<el-date-picker
// control the different select suitation
v-if="selectOne == false"
v-model="inputDate"
unlink-panels
type="daterange"
range-separator="至 "
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
//pickerOption is the unique methods for the daterange DateSelector [ELEMENT DEFINE]
:picker-options="pickerOption"
>
data中
pickerOption: {
// [date] include the maxDate and minDate
onPick: (date) => {
this.searchChangeDate(date);
},
},
使用时注意转换时间格式,默认{minDate: Thu Jul 01 2021 00:00:00 GMT+0800 (中国标准时间), maxDate: null}←这样的时间格式
// Get the date to filter
searchChangeDate(date) {
console.log(date);
function formatDate(date) {
// NULL String cannot use the getDate Methods
if (date) {
let Y = date.getFullYear() + "-";
let M =
(date.getMonth() + 1 < 10
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";
let D = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
return Y + M + D;
}
return "";
}
this.maxDate = formatDate(date.maxDate);
this.minDate = formatDate(date.minDate);
console.log("maxD", this.maxDate, "\nminD", this.minDate);
},
我使用watch监听inputDate的变化,由此比较时间大小再返回对应数值
watch:{
//...
inputDate() {
let temp = [];
let tDate = this.inputDate;
// select different dateSelector has different methods
if (tDate && this.selectOne) {
const newData = this.tempData.map((key) => {
if (key.date == tDate) {
temp.push(key);
}
});
this.tempData = temp;
}
if (tDate && this.selectOne == false) {
let self = this;
const newDataMult = this.tempData.map((key) => {
if (key.date < self.maxDate && key.date > self.minDate) {
temp.push(key);
}
});
this.tempData = temp;
}
},
//...
}
人生到处知何似,应似飞鸿踏雪泥。

浙公网安备 33010602011771号