我們一般用日期選擇器得時候,會確定一個日期得范圍作為參數,但是一般我們都會忽略這個限制,從而導致了,出現上圖得問題,endTime居然可以小於startTime,很明顯是不符合項目需求得
查看iview中關於DatePicker得api后,發現在options中可以定義自己需要得時間范圍,直接看代碼
<DatePicker
type="date"
placeholder="最新更新日期"
@on-change = 'startChange'
:options = 'startOptions'
v-model="formItem.beginTime"
>
---
<DatePicker
type="date"
placeholder="最后更新日期"
:options="endOptions"
@on-change = 'endChange'
v-model="formItem.endTime"
>
下面是對於的options,直接看一下
startOptions: {
disabledDate: (date) => {
let data = this.formItem.endTime == '' ? Date.now() : this.formItem.endTime
console.log('data', data)
return date >= data
}
},
endOptions: {
// 指定終止日期
disabledDate: (date) => {
let data = this.formItem.beginTime == ' ' ? ' ' : this.formItem.beginTime
return date >= Date.now() || date<data
}
},
注意:這里官方給出的實例是disabledDate(date){...},但是這樣子,在函數內部是不存在this,所以改為箭頭函數就可以獲取表單的數據,然后根據這個數據,做區間日期處理就可以了