tui.calender日历创建、删除、编辑事件、自定义样式

2024-01-20 14:20

本文主要是介绍tui.calender日历创建、删除、编辑事件、自定义样式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全是坑🕳!全是坑🕳!全是坑🕳!能不用就不用!

官方文档:https://github.com/nhn/tui.calendar/blob/main/docs/en/apis/calendar.md
实例的一些方法,比如创建、删除、修改、查看事件详情都有,下面写几个我用得多的
在这里插入图片描述

1. 一些参数配置的介绍

<template><div><ToastUICalendarref="calendar"style="height: 800px":view="'month'"  // 日历视图展示类型,可按日、周、月展示:use-form-popup="true" // 是否打开创建事件弹窗:use-detail-popup="true" // 是否打开查看事件详情弹窗:week="{showTimezoneCollapseButton: true,timezonesCollapsed: false,eventView: true,taskView: true,}"  // 周日历的参数配置:month="{ startDayOfWeek: 1 }" // 月日历从周x开始展示:timezone="{ zones }" // 时区设置:theme="theme" // 日历的主题样式设置,具体参考官方文档:template="{milestone: getTemplateForMilestone,allday: getTemplateForAllday,}" // 自定义日历的部分样式模板:grid-selection="true" // 是否可以单击和双击日期/时间选择:calendars="calendars" // 为事件指定样式,下面解释:events="events" // 事件列表@selectDateTime="onSelectDateTime" // 点击时间,选择日期@beforeCreateEvent="onBeforeCreateEvent" // 创建事件@beforeUpdateEvent="onBeforeUpdateEvent" // 修改事件@beforeDeleteEvent="onBeforeDeleteEvent" // 删除事件@afterRenderEvent="onAfterRenderEvent" // 渲染事件@clickDayName="onClickDayName" //每周/每日视图的标题区域显示当前查看的时间范围的星期几和日期@clickEvent="onClickEvent" // 点击事件,获取详细信息@clickTimezonesCollapseBtn="onClickTimezonesCollapseBtn" // 折叠时区@clickMoreEventsBtn="onClickMoreEventsBtn" // 点击更多按钮/></div>
</template>

2. calenders和events参数介绍

export default {data() {return {calendars: [{id: '0',name: 'Private',backgroundColor: '#9e5fff',borderColor: '#9e5fff',dragBackgroundColor: '#9e5fff',},], // 相对应id的事件的颜色、border颜色、拖拽的颜色events: [{id: '1', // 事件的idcalendarId: '0', // 和上面的calendars的id相对应就会展示相应的样式颜色title: 'TOAST UI Calendar Study', // 事件名称category: 'time', // 事件的类别:task、allday 、time、milestone,在视图中的展示方式不一样start: '2024-01-16T16:00:00', // 开始时间end: '2024-01-17T17:00:00', // 结束时间isReadOnly: true, // 是否为只读color: '#fff', //文字颜色,下面这些样式的优先级比calendarId对应的优先级高backgroundColor: '#ccc', // 背景颜色customStyle: {fontStyle: 'italic',fontSize: '15px',}, // 事件元素的样式borderColor:'', //事件元素左边的颜色raw:'' // 自定义任何形式的数据},]}}
]

3. 创建事件:createEvents

官方给的具体案例:
https://github.com/nhn/tui.calendar/blob/main/apps/vue-calendar/example/App.vue
安装tui.calender及使用方法,参考我的上篇文章
tui.calender日历在vue中的使用1.0

 computed: {calendarInstance() {return this.$refs.calendar.getInstance();},},methods:{onBeforeCreateEvent(eventData) {const event = {calendarId: eventData.calendarId || '',id: String(Math.random()),title: eventData.title,isAllday: eventData.isAllday,start: eventData.start,end: eventData.end,category: eventData.isAllday ? 'allday' : 'time',dueDateClass: '',location: eventData.location,state: eventData.state,isPrivate: eventData.isPrivate,};// 在computed中创建的日历实例,直接用createEvents创建this.calendarInstance.createEvents([event]); },

4. 删除事件:beforeDeleteEvent

onBeforeDeleteEvent({ title, id, calendarId }) {this.calendarInstance.deleteEvent(id, calendarId);},
}

5. 修改事件:beforeUpdateEvent

onBeforeUpdateEvent(updateData) {const targetEvent = updateData.event;const changes = { ...updateData.changes };this.calendarInstance.updateEvent(targetEvent.id, targetEvent.calendarId, changes);
},

6. 自定义样式

不是每个样式都能自定义,可以自定义的参考官方文

https://github.com/nhn/tui.calendar/blob/main/docs/en/apis/template.md
不能自定的我用的两种方式

  1. 样式穿透
  2. 自己画图,比如它的事件弹窗没法自定义,我就自己写了(先不总结了,我还在踩坑)
mounted() {this.calendarInstance.setOptions({template: {// 弹窗中的保存按钮文字popupSave() {return '保存'},// 更多按钮的文字提示monthGridHeaderExceed(hiddenEvents) {return `<div><span style="color:red;">${hiddenEvents}</span> 全部课程</div>`},}})
},

这篇关于tui.calender日历创建、删除、编辑事件、自定义样式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/626281

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。