element:日历 / 使用记录

一、预期效果

Element - The world's most popular Vue UI framework

element默认样式

目标样式

二、Calendar 属性

参数说明类型可选值默认值
value / v-model绑定值Date/string/number
range时间范围,包括开始时间与结束时间。开始时间必须是周一,结束时间必须是周日,且时间跨度不能超过两个月。Array
first-day-of-week周起始日Number1 到 71

三、Calendar 参数

参数说明类型可选值默认值
date单元格代表的日期Date
data{ type, isSelected, day},type 表示该日期的所属月份,可选值有 prev-month,current-month,next-month;isSelected 标明该日期是否被选中;day 是格式化的日期,格式为 yyyy-MM-ddObject

四、yyyy-mm获取上个月、下个月

getPreviousMonthFromYYYYMM(yearCur, monthCur){const year = parseInt(yearCur, 10)const month = parseInt(monthCur, 10)// 确保月份是有效的if (month < 1 || month > 12) return "Invalid month";// 计算上个月的年份和月份let previousYear = year;let previousMonth = month - 1;// 如果月份小于1,表示上一年if (previousMonth === 0) {previousMonth = 12;previousYear -= 1;}// 格式化输出为两位数previousMonth = (`0${  previousMonth}`).slice(-2);return {year: previousYear,month: previousMonth}},getNextMonthFromYYYYMM(yearCur, monthCur) {const year = parseInt(yearCur, 10)const month = parseInt(monthCur, 10)// 确保月份是有效的if (month < 1 || month > 12) return "Invalid month";// 计算下个月的年份和月份let nextYear = year;let nextMonth = month + 1;// 如果月份大于12,表示下一年if (nextMonth === 13) {nextMonth = 1;nextYear += 1;}// 格式化输出为两位数nextMonth = (`0${  nextMonth}`).slice(-2);return {year: nextYear,month: nextMonth}},

五、addEventListener监听Calendar 上个月、今天、下个月的点击事件

// 上个月const prevBtn = document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(1)`);prevBtn.addEventListener('click', () => {this.currentDate.year = this.getPreviousMonthFromYYYYMM(this.currentDate.year, this.currentDate.month).yearthis.currentDate.month = this.getPreviousMonthFromYYYYMM(this.currentDate.year, this.currentDate.month).monththis.getList()});// 今天const todayBtn = document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(2)`);todayBtn.addEventListener('click', () => {this.currentDate.year = new Date().getFullYear()this.currentDate.month = (`0${  new Date().getMonth() + 1}`).slice(-2)this.getList()});// 下个月const nextBtn = document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(3)`);nextBtn.addEventListener('click', () => {this.currentDate.year = this.getNextMonthFromYYYYMM(this.currentDate.year, this.currentDate.month).yearthis.currentDate.month = this.getNextMonthFromYYYYMM(this.currentDate.year, this.currentDate.month).monththis.getList()});

六、点击自定义的上个月、本月、下个月

preMonth(){document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(1)`).click()},curMonth(){document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(2)`).click()},nextMonth(){document.querySelector(`#calendar .el-calendar__button-group .el-button-group>button:nth-child(3)`).click()},

七、把数据交给对应的日期

this.calendarData[item.date] = data
// 日期格式yyyy-mm-dd

八、在日期方框里展示

<el-calendar><!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法--><templateslot="dateCell"slot-scope="{date, data}">// 展示对应日期的数据<div ><span>{{ this.calendarData[data.day].filed }}</span></div><p :class="data.isSelected ? 'is-selected' : ''">{{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '✔️' : ''}}</p></template>
</el-calendar>
<style>.is-selected {color: #1989FA;}
</style>

九、calendar禁用灰色区域的点击事件

el-calendar禁用灰色区域的点击事件_el-calendar禁止点击上下月份日期-CSDN博客

.el-calendar-table:not(.is-range)td.next{pointer-events: none;}.el-calendar-table:not(.is-range)td.prev{pointer-events: none;}

十、欢迎交流指正

十一、参考链接

ElementPlus Calendar 日历_w3cschool

https://www.cnblogs.com/xcbk/articles/16490903.html

VUE Calendar 用VUE+ElementUI实现带农历 节气 节日 日期的日历_vue中使用vue-calendar-CSDN博客

Element - The world's most popular Vue UI framework

[若依ruoyi-vue框架使用日历显示课程表]用Elementui Calendar日历显示课程数据- Calendar日历自定义内容_以日历形式展示数据vue-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/618806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言线性方式初始化二维数组

线性方式初始化二维数组&#xff0c;只需要利用/与%的关系即可。具体细节文章下面会有程序的流程分析 问题起源 想要用线性方式初始化二维数组 问题分析 例如a[3][4] a[0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3]如…

Flutter-Web从0到部署上线(实践+埋坑)

本文字数&#xff1a;7743字 预计阅读时间&#xff1a;60分钟 01 前言 首先说明一下&#xff0c;这篇文章是给具备Flutter开发经验的客户端同学看的。Flutter 的诞生虽然来自 Google 的 Chrome 团队&#xff0c;但大家都知道 Flutter 最先支持的平台是 Android 和 iOS&#xff…

PHP在线文档管理系统源码

PHP在线文档管理系统源码 系统功能与介绍 在数据持续、快速增长背景下&#xff0c;企业面临海量非结构化数据处理需求&#xff0c;企业现有架构 通常无法应对海量非结构化数据的管理与应用。 支持私有化部署&#xff0c;完全内网环境下也可正常使用。 Windows、Linux、Mac等全平…

7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant

本文简要总结了当今市场上正在积极开发的7个向量数据库&#xff0c;Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant 的详细比较。 我们已经接近在搜索引擎体验的基础层面上涉及机器学习&#xff1a;在多维多模态空间中编码对象。这与传统的关键字查找不同&#xff08…

通过代理连接sftp

通过nginx代理连接sftp 1.问题描述2.代码实现3.nginx配置3.1 创建sftp.stream文件3.2 修改nginx配置 4.重启nginx生效 1.问题描述 问题是这样的。我们现在需要在微服务所在内网的A机器连接到外网的sftp&#xff0c;但是网络又不能直接到达。然后A机器到B机器是通过的&#xff…

【SAP】如何删除控制范围

经历就是财富&#xff0c;可你终将遗忘。期望文字打败时间。 本周心惊胆战地在配置系统删除了一个控制范围&#xff0c;还是有些收获&#xff0c;特此记录一下。 背景&#xff1a;在删除控制范围之前&#xff0c;我主要做了如下配置。 定义控制范围&#xff08;自动生成了成本…

【UEFI基础】EDK网络框架(IP4)

IP4 IP4协议说明 IP全称Internet Protocol&#xff0c;它属于网络层&#xff0c;对其下各种类型的数据链路层进行了包装&#xff0c;这样网络层可以跨越不同的数据链路&#xff0c;即使是在不同的数据链路上也能实现两端节点之间的数据包传输。 IP层的主要作用就是“实现终端…

C++|19.C++类与结构体对比

类和结构体 类和结构体本质上并没有太大区别。 但两者在默认上有所区别。 类默认成员变量是私有的&#xff0c;而结构体默认成员变量是公有的。 也就是说&#xff0c;对于一个类来说&#xff0c;会默认使用private去保护其内部成员变量使得无法直接访问到其内部的变量。 同时从…

代码随想录算法训练营第27天 | 39. 组合总和 40.组合总和II 131.分割回文串

目录 39. 组合总和 &#x1f4a1;解题思路 &#x1f4bb;实现代码 40.组合总和II &#x1f4a1;解题思路 &#x1f4bb;实现代码 131.分割回文串 &#x1f4a1;解题思路 # 判断回文子串 &#x1f4bb;实现代码 39. 组合总和 题目链接&#xff1a;39. 组合总和 给定…

C++ 开发 + VSCode 调试

C 开发 VSCode 调试 MSYS2 安装 gcc、make下载安装MSMYS2pacman 添加镜像源 GCC1. 安装2. 查看结果3. 环境变量 GDB VSCode 调试所需插件创建项目调试代码1. tasks.json 配置任务2. launch.json 配置调试3. 运行 更进一步的 C/C 设置 参考资料 MSYS2 安装 gcc、make 下载 官…

UCB Data100:数据科学的原理和技巧:第二十一章到第二十六章

二十一、SQL II 原文&#xff1a;SQL II 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 学习成果 介绍过滤组的能力 在 SQL 中执行数据清理和文本操作 跨表连接数据 在本讲座中&#xff0c;我们将继续上次的工作&#xff0c;介绍一些高级的 SQL 语法。 首先&…

解锁营销新高度:幽灵鲨CRM推广平台线索对接功能详解

数字营销时代&#xff0c;线索对接是推动业务增长的关键。你是否为线索分布在不同的平台而来回切换&#xff1f;你是否为无法及时联系客户而错失商机&#xff1f;幽灵鲨CRM系统作为一款领先的客户关系管理解决方案&#xff0c;不仅实现了对主流推广平台的全面对接&#xff0c;更…

C++内存分配策略

目录 基础概念 内存布局 分配方式 实现 1.new和delete 2.利用空间配置器alloc 3.用malloc和free 4.静态内存分配 基础概念 在讲内存分配之前&#xff0c;先对一些基础概念进行阐述&#xff0c;以便能更好的讨论问题 内存布局 代码编译为可执行程序后运行占用的内存可…

了解统计分类中的贝叶斯理论误差限

一、介绍 统计分类和机器学习领域正在不断发展&#xff0c;努力提高预测模型的准确性和效率。这些进步的核心在于一个基本基准&#xff0c;即贝叶斯理论误差极限。这个概念深深植根于概率和统计学&#xff0c;是理解分类算法的局限性和潜力的基石。本文深入探讨了贝叶斯错误率的…

【LabVIEW FPGA入门】使用LabVIEW FPGA进行编程并进行编译

在本文中会进行一个简单的FPGA编程演示&#xff0c;这通常可以验证编译工具链是否正常使用。在LabVIEW FPGA中和rt、PC编程一样使用数据流编程&#xff0c;但是需要注意的是FPGA中有些函数是不可以用的&#xff0c;因为这些函数很占用资源&#xff0c;且FPGA只能同时下载运行一…

AI软件开发:探索原理、挑战与未来趋势

AI软件开发已经成为当前最热门和具有前景的技术领域之一。随着人工智能技术的快速发展&#xff0c;AI软件的应用范围也在不断扩大。本文将主要探讨AI软件开发的原理、挑战以及未来的趋势。 首先&#xff0c;AI软件开发的原理是基于机器学习和深度学习算法。机器学习是一种通过…

Jetbrains ai assistant激活成功了

使用ai assistant插件助手 很完美&#xff0c;第一次用在idea 开发工具就完美的把激活了&#xff0c;你也不妨试试 链接地址&#xff1a;https://web.52shizhan.cn 激活后如下 登录页面 完美使用

python设计模式有哪几种

Python 中常见的设计模式有以下几种 一 单例模式&#xff08;Singleton Pattern&#xff09;&#xff1a;确保一个类只有一个实例&#xff0c;并提供全局访问点。 二 工厂模式&#xff08;Factory Pattern&#xff09;&#xff1a;使用工厂方法来创建对象&#xff0c;而不是直…

c++算法之枚举

目录 解空间的类型 循环枚举解空间 例题 特别数的和 输入格式 输出格式 输入样例&#xff1a; 输出样例&#xff1a; 解 例题 反倍数 问题描述 输入格式 输出格式 样例输入 样例输出 解 例题 找到最多的数 解 枚举算法是一种基本的算法思想&#xff0c;它通过…

喜报 | 联诚发斩获卓越品牌奖,总裁龙平芳荣获优秀企业家奖

1月10日&#xff0c;深圳市半导体产业发展促进会五届三次会员大会暨五届四次理/监事会在深圳宝安登喜路国际大酒店隆重举行&#xff0c;全体会员、党员、兄弟商协会等共600多位代表出席会议。联诚发LCF作为协会会长单位也受邀出席盛会。 本次大会颁布了卓越品牌奖、优秀企业奖、…