Vue-element列表el-date-picker实现自定义高亮显示日期

一、需要来源

一个需求,需要在列表里面的按钮点击弹窗日期选择,然后disable指定的日期间值。

话不多说,先上效果图

Vue-element列表el-date-picker实现自定义高亮显示日期_第1张图片

Note:这个在网上找方案的时候,因为这个是有很多的限制存在,并且,点击提交需要选择月份之后进行事件的触发,如果当当以行数据指定的话,无法进行触发,当然解决方案也很简单,就是改变存储值,变成一个数组,然后在查询的时候,保存了对应的数据,然后通过scope.$index进行下标寻值然后高亮显示月份,但点击月份的时候,会自动赋值给数组0,然后取值直接取,然后处理完成数据之后,直接再次查询即可重新覆盖。

上面只是其一,其二刚刚开始改的时候,尝试很多方法,代码也不是原版,但是上面图的效果用下面代码是可以实现出来的,最后一点还是:picker-options 把对象变成一个方法,然后在方法里面返回一个对象,从而解决自定义disable区块,从而在当前日期上可以做扩展,下面会贴一些借鉴网址。

下面附上element官网 Picker Options

参数

说明

类型

可选值

默认值

shortcuts

设置快捷选项,需要传入 { text, onClick } 对象用法参考 demo 或下表

Object[]

disabledDate

设置禁用状态,参数为当前日期,要求返回 Boolean

Function

cellClassName

设置日期的 className

Function(Date)

firstDayOfWeek

周起始日

Number

onPick

选中日期后会执行的回调,只有当 daterange 或 datetimerange 才生效

Function({ maxDate, minDate })

这个是完整代码






 最后总结一下,默认高亮显示当前月份这个 用该 /deep/ 指定不显示,还未解决。

借鉴网址:

1、去除element自带样式

2、简单实现disable

3、https://www.jianshu.com/p/da3978d。。。。

你可能感兴趣的:(前端综合,vue)