element中TimePicker時間選擇器禁用部分時間(顯示禁用到分鐘)
項目需求是:選擇日期和時間,只能選擇當前時間以后的時間,禁用最小級別到分鐘.
有兩種選擇
1.使用DateTimePicker 日期時間選擇器.
2.DatePicker 和 TimePicker 組合使用
這里我是用的是第二種方法,最主要的屬性是picker-options
<el-date-picker
v-model="formInline.inventoryDate"
type="date"
align="right"
placeholder="請選擇日期"
:picker-options="pickerOptions"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
@change="changeDate"
></el-date-picker>
<el-time-picker
v-model="formInline.inventoryDateTime"
type="date"
align="right"
placeholder="請選擇時間"
:picker-options="{
selectableRange: this.startTimeRange
}"
@change="changeTime"
value-format="HH:mm:ss"
format="HH:mm:ss"
></el-time-picker>
data(){
return{
pickerOptions: {
disabledDate: time => {
return time.getTime() < Date.now() - 3600 * 1000 * 24
},
},
}
},
watch: {
'formInline.inventoryDate':{
deep:true,
handler(newValue, oldValue) {
if(newValue){
let nowDate = this.$options.filters['sendTimeDate'](new Date().getTime()+60*1000);// 一分鐘之后的時間(我是因業(yè)務(wù)要求,這里可以隨意調(diào)整時間)
let dt = nowDate.split(" ");
let st = '';
if(newValue.split(" ")[0] == dt[0]){
// 是今天,選擇 的時間開始為此刻的時分秒
st = dt[1];
}else{
// 明天及以后從0時開始
st = '00:00:00';
}
this.startTimeRange = st + ' - 23:59:59';
//console.log(this.startTimeRange)
//例如:如果今天此刻時間為10:41:40 則選擇時間范圍為: 11:41:40 - 23:59:59
//否則為:00:00:00- 23:59:59
}
},
}
},
思路:使用el-date-picker的picker-options屬性中的disabledDate配置項,先禁用日期選擇器,使其只能選擇當前日期之后的日期,然后用watch監(jiān)控日期選擇器所選日期如果是今天就使用el-time-picker的picker-options屬性中selectableRange配置項,控制可選擇時間.
注意:這種邏輯雖然可以禁用秒的選擇,不過在前端頁面中秒的選擇是沒有禁用的,當你選擇之前秒時,會默認顯示一分鐘之后的秒數(shù)(我是因業(yè)務(wù)要求,通過上述代碼你可以隨意調(diào)整禁用的時間段)
呈現(xiàn)效果:

也把第一種方法總結(jié)一下吧
我禁用的日期是今天以前的,時間范圍是22:00到02:00,直接上代碼
<el-date-picker
class="dateClass"
v-model="aa"
type="datetime"
:picker-options="pickerOptions"
placeholder="22點以后"
style="width:100%">
</el-date-picker>
data() {
return {
aa: '',
pickerOptions: {
// 限制時間
selectableRange: ['22:00:00 - 23:59:59','00:00:00 - 02:00:00'],//這里也可以綁定個變量動態(tài)限制時間
// 限制日期
disabledDate: this.disabledDate
},
}
} ,
methods: {
disabledDate(time) {
return time.getTime() < Date.now() - 3600 * 1000 * 24
}
}
到此這篇關(guān)于element中TimePicker時間選擇器禁用部分時間(顯示禁用到分鐘)的文章就介紹到這了,更多相關(guān)element TimePicker禁用部分時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Vue CLI3 多頁應(yīng)用實踐和源碼設(shè)計
這篇文章主要介紹了詳解Vue CLI3 多頁應(yīng)用實踐和源碼設(shè)計,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
vue elementUI Plus實現(xiàn)拖拽流程圖的詳細代碼(不引入插件)
文章介紹了如何使用Vue和elementUI Plus實現(xiàn)一個簡單的拖拽流程圖功能,不引入任何插件,完全手寫,設(shè)計思路,感興趣的朋友跟隨小編一起看看吧2025-01-01
網(wǎng)站國際化多語言處理工具i18n安裝使用方法圖文詳解
國際化是設(shè)計軟件應(yīng)用的過程中應(yīng)用被使用與不同語言和地區(qū),下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站國際化多語言處理工具i18n安裝使用方法的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-09-09
關(guān)于vue3 vuex4 store的響應(yīng)式取值問題解決
這篇文章主要介紹了vue3 vuex4 store的響應(yīng)式取值問題,在實際生活中遇到這樣一個問題:在頁面中點擊按鈕,數(shù)量增加,值是存在store中的,點擊事件值沒變,如何解決這個問題,本文給大家分享解決方法,需要的朋友可以參考下2022-08-08

