element-ui插件datepicker日期选择器控制选择时间范围
程序员文章站
2022-06-07 10:49:25
...
单日期选择器
1.今天以及今天之后的日期
<el-date-picker
v-model="value1"
type="date"
placeholder="选择日期"
:picker-options="pickerOptions0">
</el-date-picker>
<script>
export default{
data(){
return {
pickerOptions0: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天的
}
}
}
}
}
2. 今天以及今天之前的日期
<el-date-picker
v-model="value1"
type="date"
placeholder="选择日期"
:picker-options="pickerOptions0">
</el-date-picker>
<script>
export default{
data(){
return {
pickerOptions0: {
disabledDate(time) {
return time.getTime() > Date.now() - 8.64e6;//如果没有后面的-8.64e6就是不可以选择今天的
}
}
}
}
}
3.限制结束日期不能大于开始日期(两个单日期选择器)
<el-date-picker
v-model="value1"
type="date"
placeholder="开始日期"
:picker-options="pickerOptions0">
</el-date-picker>
<el-date-picker
v-model="value2"
type="date"
placeholder="结束日期"
:picker-options="pickerOptions1">
</el-date-picker>
data(){
return {
pickerOptions0: {
disabledDate: (time) => {
if (this.value2 != "") {
return time.getTime() > new Date(this.value2).getTime();
}
},
pickerOptions1: {
disabledDate: (time) => {
return time.getTime() < new Date(this.value1).getTime()- 1*24*60*60*1000;//减去一天的时间代表可以选择同一天;
}
},
}
}
4.限制限制开始时间不能小于当前时间,并且结束时间不能大于开始时间
pickerOptions0: {
//结束时间不能大于开始时间
disabledDate: time => {
if (this.addForm.date_range_end) {
return (
time.getTime() >
new Date(this.addForm.date_range_end).getTime()
);
} else {
//还没有选择结束时间的时候,让他只能选择今天之后的时间包括今天
return time.getTime() < Date.now() - 8.64e7;
}
}
},
pickerOptions1: {
disabledDate: time => {
if (this.addForm.date_range_start) {
return (
time.getTime() <
new Date(this.addForm.date_range_start).getTime() -
* 24 * 60 * 60 * 1000
); //可以选择同一天
}
}
},
双日期选择器
1.限制选择日期小于当前时间的30天
<el-form-item label="预约时间" prop="date">
<el-date-picker
v-model="searchForm.date"
type="daterange"
clearable
:editable="false"
format="yyyy 年 MM 月 dd 日"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
data() {
return{
pickerOptions: {
disabledDate: (time) => {
let curDate = Date.now() - 8.64e7;
let three = 30 * 24 * 3600 * 1000;
let threeMonths = curDate - three;
return time.getTime() > curDate || time.getTime() < threeMonths;
}
}
}
2. 查询时间最大间隔15天(今天)
data() {
return{
pickerOptions: {
// 查询时间最大间隔15天
onPick: ({ maxDate, minDate }) => {
this.choiceDate = minDate.getTime()
if (maxDate) {
this.choiceDate = ''
}
},
disabledDate: (time) => {
if (this.choiceDate !== '') {
const one = 30 * 24 * 3600 * 1000
const minTime = this.choiceDate - one
const maxTime = this.choiceDate + one
return time.getTime() > Date.now() || time.getTime() < minTime || time.getTime() > maxTime
} else {
return time.getTime() > Date.now()
}
}
}
},
3.开始时间往后延30天(开始时间5月1日,结束时间5月30日),选择时间范围一个月内容
data(){
return{
pickerOptions: {
onPick: ({maxDate, minDate}) => {
this.selectDate= minDate.getTime();
if (maxDate) {
this.selectDate= ''
}
}, disabledDate: (time) => {
if (this.selectDate!== '') {
const one = 30 * 24 * 3600 * 1000;
const minTime = this.selectDate;
const maxTime = this.selectDate + one * 3;
return time.getTime() < minTime || time.getTime() > maxTime
}
}
}
}
},
推荐阅读
-
详解element-ui日期时间选择器的日期格式化问题
-
日期时间范围选择插件:daterangepicker使用总结(必看篇)
-
element-ui 时间日期选择器格式化后台需要的格式
-
element-ui 日期选择器范围时间限制
-
vue中DatePicker 日期选择器遇到的坑,就是选取时间的时候,传送到后台的是当前时间的前一天
-
Bootstrap datepicker日期选择器插件使用详解
-
el_elementUI中DatePicker 日期选择器使用时间限制
-
element DatePicker 日期选择器 时间范围控制
-
elementUI DatePicker 日期选择器不能选择当天以前的时间
-
element-ui插件datepicker日期选择器控制选择时间范围