一个可拖拽日历组件
一个可拖拽的日历组件,开发介绍
项目效果:运行demo请clone项目并进入项目的demo目录
tnpm install
tnpm start
然后访问 localhost:8000/ 就能看到。
使用npm install calendar --save
然后在你的项目里
import Calendar from 'drag-calendar';
然后在render的时候传入一些参数,例如
<Calendar monthStr="2018-04" eventList={eventList} eventForm={(event, closePopover) => { return <CustomForm event={event} closePopover={closePopover} onChangeTime={this.onChangeTime} deleteEvent={this.deleteEvent} /> }} onChangeTime={this.onChangeTime} deleteEvent={this.deleteEvent} createNewEvent={this.createNewEvent} /> 参数列表 draggable(可选)
是否有拖动的效果,默认为true
popoverControl(可选)是否需要页面点击清理popover,默认为true,这个设置为false之后,eventForm的第二个参数会失效哈。
monthStr当前展示几月份的,格式"YYYY-MM"
eventList已经定义的事件列表,数组格式,具体格式如下,会根据userId来随机渲染一种颜色
const eventList = [{ id: 12, startTime: "2018-04-4", endTime: "2018-04-15", displayName: "(主)小鹿", userId: 1, }]; eventForm
一个函数,支持传入自定义的form,自定义form写法参照我的demo
函数有两个参数,event为点击的时间,closePopover为清理这个popover的callback
onChangeTime改变事件的函数
函数有3个参数,分别为事件id,事件startTime,事件endTime
deleteEvent删除事件的函数
函数有1个参数,为事件id
createNewEvent创建事件的函数,函数有2个参数,分别为开始时间和结束时间
changeMonth点击左右切换日期,我会将新的monthStr传出来,让外部传入,这个接口主要是外部可能需要重新请求数据
children(可选)组件可以传入children传入渲染
dateType(可选)日历支持粒度切换,默认为'YYYY-MM-DD',支持传入'YYYY-MM-DD HH:mm:ss'或者'YYYY-MM-DD HH:mm'
tip0.0.4升级功能:
支持配置draggable,popoverControl,children以及dateType。各参数功能查看以上文档 拖拽速度调优了版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。