Element UI disableddate设置动态时间,时间段,或者当前之前不可选,当天之后不可选
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
免费下载资源
·
在项目中使用Element UI 日历控件,本人遇到的场景是某个时间到当天时间可选,其他不可选,代码如下:
dom:
<el-date-picker
v-model="ruleForm1.date"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期"
:picker-options="pickerOptions1" //这里设置时间段,动态获取
>
</el-date-picker>
下面用到计算属性,动态获取时间并刷新日历
computed: {
pickerOptions1() {
var _this=this;
return {
disabledDate(time) {
var time1 = _this.startTime;// 动态起始时间 ,这个时间是已经得到的时间戳
return time.getTime() > Date.now() || time.getTime() < time1;
}
}
}
},
也可以设置某个时间作为起始时间
data () {
return {
pickerOptions1: {
disabledDate(time) {
var date = new Date('2019-05-24 23:06:31');
var time1 = date.getTime();//得到时间戳
return time.getTime() > Date.now() || time.getTime() < time1;
},
},
}
}
还有其他场景,如当天时间的前三个月可选,其他不可选
data (){
return {
pickerOptions1: {
disabledDate(time) {
let curDate = (new Date()).getTime();
let three = 90 * 24 * 3600 * 1000;
let threeMonths = curDate - three;
return time.getTime() > Date.now() || time.getTime() < threeMonths;;
}
},
}
}
设置当天之后的时间可选
<el-date-picker
style="width:195px"
value-format="yyyy-MM-dd"
v-model="form.start_date"
type="date"
:picker-options="pickerOptions1"
placeholder="选择日期">
</el-date-picker>
...
data() {
return {
pickerOptions1: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;//当天之后的时间可选
return time.getTime() > Date.now() - 8.64e7;//当天之前的时间可选
return time.getTime() > Date.now() ;//当天之前的时间可选---不包括当天
},
}
}
}
这种方式是实现了,但是这个方法不是很好;这个做法内部是循环遍历所有日期 性能很差。如果大家有什么好的方法欢迎评论哦!一起加油!
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45
7 个月前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 7 个月前
更多推荐
已为社区贡献5条内容
所有评论(0)