ElementUI時間選擇器限制選擇范圍disabledData的使用
關於結束時間不能大於開始時間的問題,在elementui裡我們用官方提供的 disabledDate 選項來解決。
HTML:給選擇器加上:picker-options屬性
//開始時間 <el-date-picker v-model="startDate"></el-date-picker> //截止時間 <el-date-picker v-model="endDate" :picker-options="endDateOpt"></el-date-picker>
DATA:
我這裡就簡略寫下關鍵的。
data() { return { startDate: null, endDate: null, endDateOpt: { disabledData: (time) => { return time.getTime() < this.startDate; } } } }
以上是單個選擇框的,如果是daterange或datetimerange的話:
<el-date-picker v-model="value1" type="daterange" :picker-options="pickerOptions"> </el-date-picker>
data() { return { value: '', pickerOptions2: { disabledDate: (time) => { return time.getTime() > new Date(2017, 11, 30) || time.getTime() < new Date(2017, 11, 11);//註意是||不是&& } } }; }
PS:element 時間選擇器,disabledDate同時限制多個條件
<el-date-picker v-model="listQuery.allDate" type="daterange" range-separator="-" unlink-panels value-format="yyyy-MM-dd" start-placeholder="開始日期" end-placeholder="結束日期" class="data_piccker" style="width:240px" :picker-options="pickerOptions" ></el-date-picker>
pickerOptions: { onPick: ({ maxDate, minDate }) => { this.pickerMinDate = minDate.getTime() if (maxDate) { this.pickerMinDate = '' } }, disabledDate: (time) => { const year = 365 * 24 * 3600 * 1000 //一年前的時間戳 let lastyear = this.pickerMinDate - year //已經選擇一個日期則…… if (this.pickerMinDate !== '') { const day31 = 31 * 24 * 3600 * 1000 //選中的日期前推31天,的時間戳 let datarangeb = this.pickerMinDate - day31 //選中的日期後推31天 let datarangea = this.pickerMinDate + day31 //如果後推的日期早於今天,則設置為今日 if (datarangea > new Date()) { datarangea = new Date() } //使用或||可以同時限制多個條件 return time.getTime() < datarangeb || time.getTime() > datarangea } //未選擇日期,默認狀態當天之前不可選,一年之前不可取 return time.getTime() > Date.now() || time.getTime() < lastyear }, },
到此這篇關於ElementUI時間選擇器限制選擇范圍disabledData的使用的文章就介紹到這瞭,更多相關ElementU disabledData內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- VUE-ElementUI 時間區間選擇器的使用
- element中TimePicker時間選擇器禁用部分時間(顯示禁用到分鐘)
- 總結Vue Element UI使用中遇到的問題
- Vue+java實現時間段的搜索示例
- 基於Vant UI框架實現時間段選擇器