vue el-date-picker動態(tài)限制時間范圍案例詳解
分為兩種情況
1.開始時間和結束時間同一個框(限制只能本月)
2.開始時間和結束時間分開兩個框(限制開始時間不能早于當前時間且結束時間不超過開始時間一星期)
情況1
//情況1 原創(chuàng)版權聲明:本文為weixin_40998880原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接和本聲明。 //本文鏈接: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="結束日期" 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="預約開始時間:"> <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="預約結束時間:"> <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 ); } }, { //限制結束時間為開始時間的一周后 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; //選中開始時間時的默認值為當前時間的十分鐘后 //選中結束時間時的默認值為當前時間的一個小時十分鐘后 this.defaultTime = [ hour + ":" + minute + ":00", hour2 + ":" + minute + ":00" ]; }, }
到此這篇關于vue el-date-picker動態(tài)限制時間范圍案例詳解的文章就介紹到這了,更多相關vue el-date-picker動態(tài)限制時間范圍內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Vue3+ElementPlus el-date-picker設置可選時間范圍的示例代碼
- elementUI組件中el-date-picker限制時間范圍精確到小時的方法
- element組件el-date-picker禁用當前時分秒之前的日期時間選擇
- 簡單設置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處理方案
相關文章
Vue3路由配置createRouter、createWebHistory、useRouter和useRoute詳解
Vue3和Vue2基本差不多,只不過需要將createRouter、createWebHistory從vue-router中引入,再進行使用,下面這篇文章主要給大家介紹了關于Vue3路由配置createRouter、createWebHistory、useRouter和useRoute的相關資料,需要的朋友可以參考下2023-02-02解決Vue+Element ui開發(fā)中碰到的IE問題
今天小編就為大家分享一篇解決Vue+Element ui開發(fā)中碰到的IE問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue 實現(xiàn)setInterval 創(chuàng)建和銷毀實例
這篇文章主要介紹了vue 實現(xiàn)setInterval 創(chuàng)建和銷毀實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07vue監(jiān)聽頁面滾動到某個高度觸發(fā)事件流程
這篇文章主要介紹了vue監(jiān)聽頁面滾動到某個高度觸發(fā)事件流程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04VUE.js實現(xiàn)動態(tài)設置輸入框disabled屬性
今天小編就為大家分享一篇VUE.js實現(xiàn)動態(tài)設置輸入框disabled屬性,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10