vue-calendar-component日历实现多选、回显、取消

在进入正题之前,先说一下vue-calendar-component日历插件,需要详细了解使用方式的去百度,我主要说一下针对我的需求对这个插件的一些修改,插件原有的功能是多色标记,标记数组,这跟多选还是有区别的,不能满足我的日历需求(我的需求是点击该日期将该日期插入标记数组中并改变成数组中元素的样式,再次重复点击将该日期移出数组并移除数组样式,另外可以实现提交、回显、重置)。

1、效果图

红色标记是我
红色标记表示当天,这个随自己,蓝色为标记的数组元素。

2、功能

(说点我的建议,下载这个插件后,假如跟我一样没有出现在你的node modules中,而是在package-lock.json文件中出现线上链接,由于需要改源码,建议你将文件下载下来放在项目中引入你的组件中方便修改)

多选:利用插件中的标记数组,将点击到的日期插入到数组中,数组中的元素样式与点击日期样式修改为相同样式,根据点击日期插入数组改变样式,重复点击移除数据及其样式来实现多选效果,这里的重复点击改变样式要修改的源文件为calendar.vue,
在这里插入图片描述
这一步是移除了点击日期的固定样式。

在这里插入图片描述
在点击日期的事件中进行判断,如果选中了这个日期就将样式赋给它,否则无样式 。

回显

在左右切换月份事件以及create(一进入页面求取的是当年当月,所以我为当前月份单独写了一个事件)中分别通过传入当前月份和年份中调用接口获取标记数组数据,以此实现回显。另外,在切换月份这个事件中,首先清空一下标记数组再重新获取数组,不然会出现月份数据重叠。

提交
在这里插入图片描述
我这边的需求是将选中的数据提交,选中的数据会出现重复,提交前我需要做一下去重,这个我就不说了,就上面这样。

取消
点击取消恢复初始数据,直接将当前标记数组中的年份月份作为参数获取后端数据进行渲染。

暂时就这么多了,需要补充了后面再加。

Logo

前往低代码交流专区

更多推荐