vue el-date-picker動態(tài)限制時間范圍案例詳解
更新時間:2021年09月09日 09:40:09 作者:CC#
這篇文章主要介紹了vue el-date-picker動態(tài)限制時間范圍案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
分為兩種情況
1.開始時間和結(jié)束時間同一個框(限制只能本月)

2.開始時間和結(jié)束時間分開兩個框(限制開始時間不能早于當前時間且結(jié)束時間不超過開始時間一星期)

情況1
//情況1 原創(chuàng)版權(quán)聲明:本文為weixin_40998880原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。 //本文鏈接:https://blog.csdn.net/weixin_40998880/article/details/106272897 //html <el-date-picker v-model="time" type="datetimerange" @change="datePickerChange" :picker-options="pickerOptions" range-separator="-" start-placeholder="開始日期" end-placeholder="結(jié)束日期" align="right" style="width:100%;" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00','23:59:59']"> </el-date-picker>
//script
data(){
return {
selectData: '',
pickerOptions: {
// 點擊時,選擇的是開始時間,也就是minDate
onPick: ({ maxDate, minDate }) => {
this.selectData = minDate.getTime()
if (maxDate) {
// 解除限制
this.selectData = ''
}
},
disabledDate: (time) => {
// 是否限制的判斷條件
if (!this.isNull(this.selectData)) {
var date = new Date(this.selectData)
// 這里就是限制的條件,這里為大于或者小于本月的日期被禁用(盡量不使用這種方法,因為其他年份的本月也能進行選擇,具體限制日期參考情況2)
return date.getMonth() > new Date(time).getMonth() || date.getMonth() < new Date(time).getMonth()
} else {
return false
}
}
}
}
},
methods:{
// 檢查是否為空
isNull(value) {
if (value) {
return false
}
return true
}
}
情況2
//情況2
//html
<el-col :span="8">
<el-form-item prop="beginTime" label="預(yù)約開始時間:">
<el-date-picker
v-model="editForm.beginTime"
type="datetime"
placeholder="選擇開始時間"
:picker-options="pickerOptions[0]"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="defaultTime[0]"
>
</el-date-picker> </el-form-item
></el-col>
<el-col :span="8"
><el-form-item prop="endTime" label="預(yù)約結(jié)束時間:">
<el-date-picker
v-model="editForm.endTime"
type="datetime"
placeholder="選擇開始時間"
:picker-options="pickerOptions[1]"
value-format="yyyy-MM-dd HH:mm:ss"
:default-time="defaultTime[1]"
>
</el-date-picker> </el-form-item
></el-col>
//script
data(){
return {
selectData: '',
defaultTime: [],
pickerOptions: [
{
disabledDate: time => {
const curDate = new Date().getTime();
const day = 14 * 24 * 3600 * 1000;
const dateRegion = curDate + day;
return (
time.getTime() < Date.now() - 8.64e7 ||
time.getTime() > dateRegion
);
}
},
{
//限制結(jié)束時間為開始時間的一周后
disabledDate: time => {
// 是否限制的判斷條件
const date = new Date(this.editForm.beginTime);
if (!this.isNull(date)) {
const day = 7 * 24 * 3600 * 1000;
const dateRegion = date.getTime() + day;
return (
//禁用小于開始時間和大與開始時間一周后的日期
new Date(time).getTime() > dateRegion ||
new Date(time).getTime() < date.getTime()
);
} else {
return false;
}
}
}
],
}
},
methods:{
// 檢查是否為空
isNull(value) {
if (value) {
return false
}
return true
},
//獲得當前時間并添加選中時的默認值
getNowTime() {
let d = new Date();
let year, month, day, hour, minute;
//當前時間的十分鐘后
d.setTime(d.getTime() + 10 * 60 * 1000);
[year, month, day, hour, minute] = [
d.getFullYear(),
d.getMonth(),
d.getDate(),
d.getHours(),
d.getMinutes()
];
let hour2 = hour + 1;
//選中開始時間時的默認值為當前時間的十分鐘后
//選中結(jié)束時間時的默認值為當前時間的一個小時十分鐘后
this.defaultTime = [
hour + ":" + minute + ":00",
hour2 + ":" + minute + ":00"
];
},
}
到此這篇關(guān)于vue el-date-picker動態(tài)限制時間范圍案例詳解的文章就介紹到這了,更多相關(guān)vue el-date-picker動態(tài)限制時間范圍內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Vue3+ElementPlus el-date-picker設(shè)置可選時間范圍的示例代碼
- elementUI組件中el-date-picker限制時間范圍精確到小時的方法
- element組件el-date-picker禁用當前時分秒之前的日期時間選擇
- 簡單設(shè)置el-date-picker的默認當前時間問題
- element?ui時間日期選擇器el-date-picker報錯Prop?being?mutated:"placement"解決方式
- Vue3 elementUI如何修改el-date-picker默認時間
- vue element-ui el-date-picker限制選擇時間為當天之前的代碼
- el-date-picker時間清空值為null處理方案
相關(guān)文章
VUE中如何調(diào)用高德地圖獲取當前位置(VUE2.0和3.0通用)
使用uniapp開發(fā)微信小程序時,多多少少會遇到獲取當前位置的詳細信息,下面這篇文章主要給大家介紹了關(guān)于VUE中如何調(diào)用高德地圖獲取當前位置(VUE2.0和3.0通用)的相關(guān)資料,需要的朋友可以參考下2023-04-04

