首页 >> js开发 >> js详解element-ui动态限定的日期范围选择器代码片段js大全
js详解element-ui动态限定的日期范围选择器代码片段js大全
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
何开此题
何开此题何开此题我是一个码农,缘起就是这次需求遇到了之前实现过的功能细节,不想再从头翻组件文档实现一遍,最好是直接拷贝粘贴。细节
细节细节picker-options 设定规则:时间范围最大可选择30天, 最晚时间为今天。
element-ui 的日期选择器的组件是 el-date-picker.设定 pickerOptions2,
data() {
return {
pickerOptions2: {
disabledDate: theDate => {
const oneDay = 3600 * 1000 * 24
const current = theDate.getTime()
const now = Date.now()
const condition1 = current > now
if (!this.minDateTimestamp) return condition1
const pickerRangeNum = 30
// 时间范围最大可选择30天,最晚时间为今天
const lastMonthBegin = this.minDateTimestamp
const lastMonthEnd = lastMonthBegin + pickerRangeNum * oneDay
return (
condition1 || current < lastMonthBegin || current > lastMonthEnd
)
},
onPick: ({ maxDate, minDate }) => {
this.minDateTimestamp = minDate.getTime()
if (maxDate) {
this.minDateTimestamp = 0
}
},
},
}
},
data() {
return {
pickerOptions2: {
disabledDate: theDate => {
const oneDay = 3600 * 1000 * 24
const current = theDate.getTime()
const now = Date.now()
const condition1 = current > now
if (!this.minDateTimestamp) return condition1
const pickerRangeNum = 30
// 时间范围最大可选择30天,最晚时间为今天
const lastMonthBegin = this.minDateTimestamp
const lastMonthEnd = lastMonthBegin + pickerRangeNum * oneDay
return (
condition1 || current < lastMonthBegin || current > lastMonthEnd
)
},
onPick: ({ maxDate, minDate }) => {
this.minDateTimestamp = minDate.getTime()
if (maxDate) {
this.minDateTimestamp = 0
}
},
},
}
},
模板的设定,
class="form-item-control"
v-model="qo2.dateRange2"
type="daterange"
range-separator=" 至 "
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择时间段"
:picker-options="pickerOptions2"
/>
class="form-item-control"
v-model="qo2.dateRange2"
type="daterange"
range-separator=" 至 "
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择时间段"
:picker-options="pickerOptions2"
/>
总结
总结
总结
element-ui 动态限定的日期范围选择器,再回首,不用愁。
何开此题何开此题我是一个码农,缘起就是这次需求遇到了之前实现过的功能细节,不想再从头翻组件文档实现一遍,最好是直接拷贝粘贴。细节
细节细节picker-options 设定规则:时间范围最大可选择30天, 最晚时间为今天。
element-ui 的日期选择器的组件是 el-date-picker.设定 pickerOptions2,
data() {
return {
pickerOptions2: {
disabledDate: theDate => {
const oneDay = 3600 * 1000 * 24
const current = theDate.getTime()
const now = Date.now()
const condition1 = current > now
if (!this.minDateTimestamp) return condition1
const pickerRangeNum = 30
// 时间范围最大可选择30天,最晚时间为今天
const lastMonthBegin = this.minDateTimestamp
const lastMonthEnd = lastMonthBegin + pickerRangeNum * oneDay
return (
condition1 || current < lastMonthBegin || current > lastMonthEnd
)
},
onPick: ({ maxDate, minDate }) => {
this.minDateTimestamp = minDate.getTime()
if (maxDate) {
this.minDateTimestamp = 0
}
},
},
}
},
data() {
return {
pickerOptions2: {
disabledDate: theDate => {
const oneDay = 3600 * 1000 * 24
const current = theDate.getTime()
const now = Date.now()
const condition1 = current > now
if (!this.minDateTimestamp) return condition1
const pickerRangeNum = 30
// 时间范围最大可选择30天,最晚时间为今天
const lastMonthBegin = this.minDateTimestamp
const lastMonthEnd = lastMonthBegin + pickerRangeNum * oneDay
return (
condition1 || current < lastMonthBegin || current > lastMonthEnd
)
},
onPick: ({ maxDate, minDate }) => {
this.minDateTimestamp = minDate.getTime()
if (maxDate) {
this.minDateTimestamp = 0
}
},
},
}
},
模板的设定,
v-model="qo2.dateRange2"
type="daterange"
range-separator=" 至 "
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择时间段"
:picker-options="pickerOptions2"
/>
v-model="qo2.dateRange2"
type="daterange"
range-separator=" 至 "
start-placeholder="开始日期"
end-placeholder="结束日期"
placeholder="请选择时间段"
:picker-options="pickerOptions2"
/>
总结
总结
总结
element-ui 动态限定的日期范围选择器,再回首,不用愁。