Element UI -- el-date-picker 日期组件设置默认值

最近有需求,列表查询条件的日期组件自动展示前一周到今天的日期。做个小记。废话不多说,直接上代码。

html:

1
2
3
4
5
6
7
8
9
<el-date-picker
         style="width:23%"
         v-model="time"
         type="daterange"
         range-separator="至"
         start-placeholder="开始日期"
         end-placeholder="结束日期"
         value-format="yyyy-MM-dd"
></el-date-picker>

js:计算属性

复制代码
 computed: {
        // 默认时间
        timeDefault () {
            let date = new Date()
            // 通过时间戳计算
            let defalutStartTime = date.getTime() - 7 * 24 * 3600 * 1000 // 转化为时间戳
            let defalutEndTime = date.getTime()
            let startDateNs = new Date(defalutStartTime) 
            let endDateNs = new Date(defalutEndTime)
            // 月,日 不够10补0
            defalutStartTime = startDateNs.getFullYear() + '-' + ((startDateNs.getMonth() + 1) >= 10 ? (startDateNs.getMonth() + 1) : '0' + (startDateNs.getMonth() + 1)) + '-' + (startDateNs.getDate() >= 10 ? startDateNs.getDate() : '0' + startDateNs.getDate())
            defalutEndTime = endDateNs.getFullYear() + '-' + ((endDateNs.getMonth() + 1) >= 10 ? (endDateNs.getMonth() + 1) : '0' + (endDateNs.getMonth() + 1)) + '-' + (endDateNs.getDate() >= 10 ? endDateNs.getDate() : '0' + endDateNs.getDate())
            return [defalutStartTime, defalutEndTime]
        }
    },
复制代码

created生命周期里直接赋值

    created(){
        this.time = this.timeDefault;
    },

以上即可。

关于日期的小笔记:

获取当前日期+指定天数之后的日期为默认日期(此示例为当前日期+20天后的日期)

复制代码

formatDate(new Date(new Date().getTime() + 20 * 24 * 3600 * 1000),true)//转换成时间戳之后相加20天再转换成年月日的字符串格式 方便传参
 

/**
 * 日期格式转换
 */
export function formatDate(date, toStr) {
    var year = date.getFullYear()
    var month = format(date.getMonth() + 1)
    var da = format(date.getDate())
    if (toStr) {
        return year + '-' + month + '-' + da
    }
    return year + month + da
}
 
/**
 * 日期格式转换 不足10补位0
 */
export function format(val) {
    return Number(val) < 10 ? '0' + val : '' + val
}
 
 
 
 
elementUI plus 中 设置日期日期范围在90天内
// 日期禁选
const disabledDate = time => {
  if (props.isDisable && props.type == 'daterange' && dateRange.value != null) {
    let startTime = Date.parse(new Date(dateRange.value[0]))
    return time.getTime() > startTime + 45 * 8.64e7 || time.getTime() < startTime - 45 * 8.64e7
  }
}
 
在el-date-picker 中设置禁选属性 
  :disabled-date="disabledDate"即可
复制代码
posted @   巫小婆  阅读(24389)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示