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

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.