antd vue实现日历功能——添加放假时间功能——基础积累
最近再写后台管理系统时,遇到一个需求,就是需要写一个日历,然后添加放假时间的功能。
需要实现的功能有:
- 日历表头需要设置为当前年份的前后两年,比如今年是2022年,则年份下拉中时间为 2021、2022、2023.
- 选中的日期需要有特殊的样式来区分是否已选中。
1.日历组件
2.自定义日历头部
<a-calendar:header-render="headerRender"@select="onSelect":fullscreen="false"
><div slot="dateCellRender" slot-scope="value" class="events"><template v-for="item in restDay"><span:key="item.holiday"class="restCls"v-if="moment(value).format('YYYY-MM-DD') == item.holiday"></span></template></div>
</a-calendar>
上面代码中的restDay
就是目前休息日的对象数组,具体可以根据实际进行调整格式。
自定义头部的代码:
headerRender({ value, type, onChange, onTypeChange }) {const start = 0;const end = 12;const monthOptions = [];const current = value.clone();const localeData = value.localeData();const months = [];for (let i = 0; i < 12; i++) {current.month(i);months.push(localeData.monthsShort(current));}for (let index = start; index < end; index++) {monthOptions.push(<a-select-option class="month-item" key={`${index}`}>{months[index]}</a-select-option>);}const month = value.month();const year = value.year();const options = [];for (let i = year - 1; i < year + 2; i += 1) {options.push(<a-select-option key={i} value={i} class="year-item">{i}</a-select-option>);}return (<div style={{ padding: "10px" }}><a-row type="flex"><a-col><a-selectdropdownMatchSelectWidth={false}class="my-year-select"onChange={(newYear) => {const now = value.clone().year(newYear);onChange(now);}}value={String(year)}>{options}</a-select></a-col><a-col style="margin-left:10px;"><a-selectdropdownMatchSelectWidth={false}value={String(month)}onChange={(selectedMonth) => {const newValue = value.clone();newValue.month(parseInt(selectedMonth, 10));onChange(newValue);}}>{monthOptions}</a-select></a-col></a-row></div>);
},
上面的代码可以实现日历头部的年份下拉框数据的处理,为当前年份的前后两年。
3.选择的日期样式调整,需要用到dateCellRender
插槽功能
对应的样式:
.restCls {position: relative;top: -10px;width: 28px;height: 28px;display: inline-block;left: 0px;border: 2px solid #67c23a;
}
如果日期跟restDay
放假日期相对应的话,则会有上面的样式,也就是有个绿色的边框。
完成!!!
antd vue实现日历功能——添加放假时间功能——基础积累相关推荐
- dedecms自定义表单如何添加发布时间功能
这篇文章给大家分享的是有关dedecms自定义表单如何添加发布时间功能的内容.小编觉得挺实用的,因此分享给大家做个参考.一起跟随小编过来看看吧. dedecms自定义表单怎么添加发布时间功能? d ...
- vue 仿日历格式对账单下载功能
本次主要是使用vue+element UI来完成对账单功能的实现,需求是当前时间及之前一天不可点击,大于当前日期置灰不可点击. 模板简陋敬请谅解 - 先上效果图 vue 页面布局方便数据渲染 < ...
- vue 实现日历功能
vue 实现日历功能 说起日历功能,及得以前实现过一次 (C# unity)但是呢 没有记录过程, 今天突然又要做一个. 所以重新又来一次. 前车之鉴 这次记录下 其实就是一个 6行7列 的 一个个 ...
- 纯前端vue+bootstrap实现图书管理系统的添加、删除功能
1.纯前端vue+bootstrap实现图书管理系统的添加.删除功能最终效果界面 2.添加效果 3.删除效果 4.前端代码:图书管理系统.html <!DOCTYPE html> < ...
- 【Vue实例四】利用Vue组件实现添加评论的功能
前面学到了Vue的组件功能,本文我们通过一个评论列表的案例来巩固下组件的内容,具体效果如下: <!DOCTYPE html> <html lang="en"> ...
- java记事本获取当前时间_calendar 用Java写的日历,有查询时间日期,还有记事本以及到点提醒功能。 Develop 238万源代码下载- www.pudn.com...
文件名称: calendar下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 4465 KB 上传时间: 2013-06-30 下载次数: 3 提 供 者: 陈园园 ...
- 在 typecho 中添加文章的最后更新时间功能
我目前使用的主题中是没有在typecho中添加文章的最后更新时间功能的,而我们知道,随着时间的推移,或多或少地我们都会修改曾经发布的文章中的一些信息,所以在文章首或尾显示文章的最后更新时间. 首先,文 ...
- 使用Vue 简化 用户查询/添加功能
使用Vue简化 用户查询/添加功能 1. 查询功能 1.1 Vue核心对象: 1.2 brand.html: 1.3 selectAllServlet(无变化): 2. 添加功能 2.1 addBra ...
- vue标准时间改为时间戳_正确的济南初中寒假放假时间安排出来啦!家长速戳→...
原标题:正确的济南初中寒假放假时间安排出来啦!家长速戳→ 今年济南初中寒假放假时间↓↓↓ 2021年1月30日-2月26日 第一学期 1 寒假安排 义务教育阶段学校寒假开始时间为2021年1月30日( ...
最新文章
- Logistic Regression
- WINCE系统启动时是否clean boot
- Mybatis的第三章动态sql总结
- 【小白学习C++ 教程】八、在C++指针传递引用和Const关键字
- 分支和循环_月隐学python第5课
- 锁存器的工作原理_数字电路学习笔记(十):更多锁存器和触发器
- 《Oracle大型数据库在AIX UNIX上的实战详解》的集中答疑九 数据库字符集与国家语言...
- java udp套接字_Java - UDP通过套接字发送数据..没有记录。所有数据
- OpenJ_Bailian 2814 拨钟问题
- vim python补全_转:VIM python 自动补全插件:pydiction
- c++中的结构体_C ++中的结构
- 4道过滤菜鸟的iOS面试题
- 系统分析师2020年真题解析
- 07-24 什么是串口
- 国土导弹光学反狙击探测系统行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- 阿里云ECS云服务器配置项目
- 简单学JAVA-Java学习方法-费曼学习法
- 万豪酒店Marriott 积分兑换标准房晚必备:全球 Marriott Cat9 等级酒店列表 汇总
- 单一用户登录,即当前用户登录后要踢出前一个登录,即做出踢人效果,如何实现?
- 字节java岗位一面(凉面)