Vue element 日期选择器 el-date-picker设置选择范围在一周内
需求:防止时间范围内的查询到数据过多,希望设置最大可选一周的是时间范围完成效果:见下图知道了怎么禁用时间,想要达到预期的效果,要拿到第一次选择的日期查看element文档,onPick可返回每次选中的时间完整代码如下:<!DOCTYPE html><html><head><meta charset="...
·
需求:防止时间范围内的查询到数据过多,希望设置最大可选一周的是时间范围
完成效果:见下图
知道了怎么禁用时间,想要达到预期的效果,要拿到第一次选择的日期
查看element文档,onPick可返回每次选中的时间
完整代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- import CSS -->
<link rel="stylesheet" href="../../public/common/css/index.css">
<link rel="stylesheet" href="../../public/common/css/iconfont/iconfont.css">
</head>
<body>
<div id="app">
<template>
<div class="block">
<span class="demonstration">默认</span>
<el-date-picker
v-model="value6"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions">
</el-date-picker>
</div>
</template>
</div>
</body>
<!-- import Vue before Element -->
<script src="../../public/common/js/vue.min.js"></script>
<!-- import JavaScript -->
<script src="../../public/common/js/index.js"></script>
<!--<script src="../../public/common/css/icon/iconfont.js"></script>-->
<script>
var vm =new Vue({
el: '#app',
data: {
vue : this,
value6: '',
timeOptionRange: '',
pickerOptions: {
disabledDate(time) {
let timeOptionRange = vm.timeOptionRange;
let secondNum = 60 * 60 * 24 * 7 * 1000;
if (timeOptionRange) {
return time.getTime() > timeOptionRange.getTime() + secondNum || time.getTime() < timeOptionRange.getTime() - secondNum;
}
}, onPick(time) {
//当第一时间选中才设置禁用
if (time.minDate && !time.maxDate) {
vm.timeOptionRange = time.minDate;
}
if (time.maxDate) {
vm.timeOptionRange = null;
}
}
},
}
})
</script>
</html>
更多推荐
已为社区贡献7条内容
所有评论(0)