element ui el-calendar日历组件使用总结

news2024/9/19 2:34:55

el-calendar日历组件使用总结

    • 1. 需求说明
    • 2. 基础实现
    • 3. 只展示当月数据
    • 4. 动态切换日历里的数据实现
    • 5. 顺便把快捷方式隐藏了,不让用户选择上一个月下一个月

1. 需求说明

  • 按月显示,每次只显示一个月的日期,其余隐藏

  • 日历组件的显示时间随着上方选择框的变化(比如我切换到6月份,下面也要同步切换到6月份)

  • 在这里插入图片描述

  • 点击某一天可以添加事项(如果是空白的,未添加的),展示在对应的框里,同时添加悬浮展示的组件

  • 在这里插入图片描述

  • 如果是点击有事项的,则是编辑事项(这里展示的是不同的弹框)
    在这里插入图片描述

  • 每一月的数据存到数据库

2. 基础实现

  • 这里做的是数据渲染,以及事件绑定,新增与编辑是点击不同的地方
     <el-calendar v-model="value">
          <template slot="dateCell" slot-scope="{ date, data }">
            <div class="main-cd" @click="addPlan()">
              <div class="calendar-day">
                {{ data.day.split("-").slice(2).join("-") }}
              </div>
              <div
                v-for="(item, index) in calendarData"
                :key="index"
                class="is-selected"
                @click.stop="addPlan(item)"
              >
                <span v-if="item.day == data.day && item.timeDetailsList">
                  <el-tooltip placement="top">
                    <div slot="content">
                      <div
                        v-for="items in item.timeDetailsList"
                        :key="items.day"
                      >
                        {{ items.channelName }} :
                        {{ items.wechatNumber }}个微信号,
                        计划投放{{ items.planNumber }},
                        实际加人
                        {{ items.realityNumber }}
                      </div>
                    </div>
                    // 这里写两遍是因为一个是框里展示,一个是悬浮组件内展示的内容
                    <div v-for="items in item.timeDetailsList" :key="items.day">
                      {{ items.channelName }} :
                      {{ items.wechatNumber }}个微信号,
                      计划投放{{ items.planNumber }},
                      实际加人
                      {{ items.realityNumber }}
                    </div>
                  </el-tooltip>
                </span>
              </div>
            </div>
          </template>
        </el-calendar>

3. 只展示当月数据

  • 这个其实官网有说明
    在这里插入图片描述

  • 但实际做起来是比较麻烦的,后面审查元素,找到了新大陆:
    在这里插入图片描述

  • 不同月份的日期是有不同的 class 标识的,一个邪恶的想法便出来了,那用 css 就可以搞定,何必费劲巴拉的写 js

  • 算是走了个捷径吧,仅供参考,代码如下:

  ::v-deep .el-calendar-table:not(.is-range) td.next {
    display: none;
  }

  ::v-deep .el-calendar-table:not(.is-range) td.prev {
    visibility: hidden;
  }

4. 动态切换日历里的数据实现

  • 这个就更简单了,监听输入框的时间变化,传入 日历组件的model 即可,代码如下:
monthChange(val) {
  // 这里是监听时间变化 => @change="monthChange",然后传入日历组件
  this.value = val;
  // 时间切换的时候,顺便调个接口查询当月数据
  this.editDetail();
},

5. 顺便把快捷方式隐藏了,不让用户选择上一个月下一个月

在这里插入图片描述

  • 因为在此处的需求,需要手动查询,根据上方时间变化匹配对应数据
  • 所以用户点这个玩意也费劲,还要加事件监听,费力不讨好了
  • 实现也很简单,还是 css 搞定(审查元素就行了),代码如下:
  ::v-deep .el-calendar__button-group {
    display: none;
  }

1. 希望本文能对大家有所帮助,如有错误,敬请指出

2. 原创不易,还请各位客官动动发财的小手支持一波(关注、评论、点赞、收藏)
3. 拜谢各位!后续将继续奉献优质好文
4. 如果存在疑问,可以私信我(主页有Q)

在这里插入图片描述

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

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

相关文章

数值分析-牛顿插值公式

目录 一、引言 二、牛顿插值公式的基本概念 1.插值问题 2.插值多项式 3.牛顿插值公式 三、牛顿插值公式的推导过程 四、牛顿插值公式的应用 1.图像处理 2.信号处理 五、牛顿插值公式的优缺点 1. 优点 2. 缺点 六、总结 一、引言 在数值分析中&#xff0c;插值是一…

干掉复杂的Java工具类,Hutool 工具库确实香~

Hutool 大家已经比较熟悉了&#xff0c;这是一个超全的 Java 工具库&#xff0c;深受国内开发者的喜爱。 我之前其实是不太喜欢使用这种功能太多的工具类的&#xff0c;也比较担心稳定性和安全性&#xff0c;后面慢慢接受了就感觉其实也还好。而且&#xff0c;我们还可以按需只…

如何优雅地停掉线程?

很久很久以前&#xff0c;在一个名为“Springboot”的村庄中&#xff0c;住着一群热爱编程的程序员。他们喜欢探索新技术、优化自己的代码&#xff0c;为了打造更好的软件而不断努力着。 在这个村庄中&#xff0c;有一个名叫小明的程序员&#xff0c;他是村庄中最优秀的程序员…

等概率随机函数设计技巧

文章目录 1. 关于Math.random()函数2. 用1 ~ 5的随机函数加工出1 ~ 7的随机函数3. LeetCode 470. 用 Rand7() 实现 Rand10()4. 把不等概率随机函数变成等概率随机函数5. 用a ~ b的随机函数加工出c ~ d的随机函数 1. 关于Math.random()函数 Java 中 Math.random() 函数是等概率…

微服务和领域驱动

一、微服务 1.1 什么是微服务 微服务就是一些协同工作的小而自治的服务。 关键词&#xff1a; 小而自治 -- 小 “小”这个概念&#xff0c;一方面体现在微服务的内聚性上。 内聚性也可以称之为单一职责原则&#xff1a;“把因相同原因而变化的东西聚合到一起&#xff0c;…

python能成为编程届的网红么?

Python本身就是编程语言届的网红&#xff0c;Python&#xff0c;年龄可能比很多读者都要大&#xff0c;但是它在更新快速的编程界却一直表现出色&#xff0c;甚至有人把它比作是编程界的《葵花宝典》&#xff0c;只是Python的速成之法相较《葵花宝典》有过之而无不及。 但是能…

短视频矩阵系统.代码实时分享

短视频矩阵系统核心技术研发是为满足现代社交网络时代用户对视频分享和观看的需求而推出的一项技术。它旨在提供高质量的视频传输、智能推荐算法、实时互动等功能。短视频矩阵系统设计上考虑了多个关键技术&#xff0c;包括多媒体编解码技术、网络通讯技术、机器学习算法等。通…

[pgrx开发postgresql数据库扩展]附.更新开发环境安装脚本

pgrx更新到0.83之后&#xff0c;我本来还没感觉&#xff0c;但是我五一放假一来&#xff0c;发现我的WSL环境居然就挂了…… 果然是非稳定版本就是不靠谱了…… 所以我干脆搞了个虚拟机&#xff0c;重新安装了一套&#xff0c;还别说&#xff0c;更新到了0.83之后&#xff0c;安…

(十一)地理数据库创建——创建新的地理数据库

地理数据库创建——创建新的地理数据库 目录 地理数据库创建——创建新的地理数据库 1.地理数据库概述2.地理数据库建立一般过程2.1地理数据库设计2.2地理数据库建立2.2.1从头开始建立一个新的地理数据库2.2.2移植已经存在数据到地理数据库2.2.3用CASE工具建立地理数据库 2.3建…

学习HCIP的day.04

目录 七、关于OSPF的不规则区域问题 1、通过隧道链路&#xff08;Tunnel&#xff09; 2、OSPF的虚链路配置 3、多进程双向重发布 八、OSPF的数据库表 九、OSPF优化 1、汇总 2、特殊区域 --- 用于减少各个非骨干区域的LSA数量 七、关于OSPF的不规则区域问题 分为两种情…

【MySQL实战2 作业解析】

这里写自定义目录标题 作业回顾作业步骤完成方法恢复数据库设置查询日志的开关删除退市股票以及新股的无效交易日的数据删除个股数据表查询merged_table这张表里3开头的股票中每个月成交量最大的股票下载日志文件&#xff0c;备份数据库 作业回顾 作业内容发布在社区里&#x…

输入捕获模式测频率、PWMI模式测频率占空比

一、知识点 TIM输入捕获模式&#xff1a; 1、输入捕获模式测频率占空比 信号源&#xff1a;产生一个频率和占空比可调的波形 无信号发生器的情况&#xff1a;先用PWM模块&#xff0c;在PA0端口输出一个频率和占空比可调的波形&#xff0c;把PA0和PA6连在一起&#xff0c;PA6为输…

Ubuntu 安装 Mysql

主要内容 本文主要是实现在虚拟机 Ubuntu 18.04 成功安装 MySQL 5.7&#xff0c;并实现远程访问功能&#xff0c;以 windows 下客户端访问虚拟机上的 mysql 数据库。 1. 切换至 root 用户 &#xff0c;shell 终端指令均执行在 root 用户下 sudo su 2. 安装并设置 mysql 安…

DOM操作-获取元素的方式

DOM—文档对象模型 ●DOM&#xff08;Document Object Model&#xff09;&#xff1a; 文档对象模型 ●其实就是操作 html 中的标签的一些能力 ●或者说是一整套操作文档流的属性和方法的集合 ●我们可以操作哪些内容 ○获取一个元素 ○移除一个元素 ○创建一个元素 ○向页面里…

Unity防破解方案解析

Unity作为游戏开发市场第一大游戏引擎占有者&#xff0c;已经全面覆盖到各个游戏平台&#xff0c;在全球范围内超过50% 的手机游戏、PC 游戏和主机游戏都使用 Unity 创作而成。 同时&#xff0c;Unity也是中国游戏公司的首选开发引擎&#xff0c;《原神》《王者荣耀》《英雄联盟…

【MySQL入门指南】4种插入数据的方法

文章目录 MySQL的增删查改① - 增1.发生冲突则失败1.1 基本语法1.2 单行数据全列插入1.3 多行数据 指定列插入 2.发生冲突则更新2.1 基本语法2.2 插入否则更新 3.发生冲突则替换3.1 基本语法3.2插入否则替换 4.插入查询结果 MySQL的增删查改① - 增 -- 创建一张学生表 CREATE…

狂神 springcloud学习

springcloud学习 笔记整理来源 B站UP主狂神说https://www.bilibili.com/video/BV1jJ411S7xr 参考&#xff1a;菜鸟小杰子 https://blog.csdn.net/lijie0213/article/details/107914619 参考&#xff1a;路飞 https://csp1999.blog.csdn.net/article/details/106255122?spm100…

stm32cubemx配置mpu6050——10分钟0基础到灵活使用

stm32cubemx配置mpu6050——10分钟0基础到灵活使用 10分钟速通&#xff01;你没看错&#xff0c;就是10min&#xff0c;从0基础到灵活运用mpu6050。 不信&#xff1f;往下看看就会&#xff1a;嗷~原来如此 第一步 下载github开源代码。 https://github.com/leech001/MPU6050首…

从零开始学习Linux运维,成为IT领域翘楚(六)

文章目录 &#x1f525;Linux磁盘管理&#x1f525;Linux挂载硬盘&#x1f525;Linux系统状态检测命令&#x1f525;Linux下载软件安装的命令 &#x1f525;Linux磁盘管理 分区的方式 &#x1f41f; MBR分区表&#xff1a;每块硬盘最大支持2.1TB硬盘&#xff0c;每块硬盘最多支…

《编程思维与实践》1042.字串变换

《编程思维与实践》1042.字串变换 题目 思路 分两步解决&#xff1a; 1.判断是否可以通过两种变换使所有的字符串变得相同&#xff1b; 2.在能变换的前提下使变换的次数最少。 其中第一步可以将每个字符串的基底(将连续重复出现的字符视为一个字符)求出来, 如: aaabbb的基底就…