element-ui時間組件同一個月內選擇/30天內選擇
同一個月
<el-date-picker v-model="time" type="datetimerange"range-separator="至" start-placeholder="開始時間"value-format="timestamp" :picker-options="pickerOptions"end-placeholder="結束時間" @change="bizPayLog(1)"></el-date-picker>//寫在data return
selectData:'',//日期選擇范圍在一個月內pickerOptions: {onPick: ({ maxDate, minDate }) => {this.selectData = minDate.getTime()if (maxDate) {// 選擇了最大日期后,清除已選日期,解除限制。this.selectData = ''}},disabledDate: (time) => {// 是否禁用日期選擇if (this.selectData) {let date = new Date(this.selectData)// true:不可以選擇該日期;false:可以選擇該日期。// 大于或者小于本月的日期被禁用return date.getMonth() > new Date(time).getMonth() || date.getMonth() < new Date(time).getMonth()} else {return false;}}},
30天以內
pickerMinDate:'',//日期選擇范圍在一個月內pickerOptions: {onPick: ({ maxDate, minDate }) => {console.log(this.pickerMinDate,'this.pickerMinDate')this.pickerMinDate = minDate.getTime();if (maxDate) {this.pickerMinDate = '';}},disabledDate: time => {console.log(this.pickerMinDate,'this.pickerMinDate1')if (this.pickerMinDate !== "") {const day30 = (31 - 1) * 24 * 3600 * 1000;// 只選后30天,minTime不用加day30,只選前30天,maxTime不用加day30let maxTime = this.pickerMinDate + day30;let minTime = this.pickerMinDate - day30;if (maxTime > new Date()) {maxTime = new Date();}return time.getTime() > maxTime || time.getTime() < minTime;}return time.getTime() > Date.now();}},