zwhGithub / vue-calendar

🏆 基于 vue 2.0 开发的轻量,高性能日历组件
https://zwhgithub.github.io/vue-calendar/dist/#/
943 stars 230 forks source link

建议支持选择日历区间,和支持服务端渲染 #22

Open jinghh opened 6 years ago

jinghh commented 6 years ago

在nuxt项目中使用,压缩的index.js中会报document is not defined ,不知作者是否有支持服务端渲染,我是直接把源代码弄进去的,还有期望增加区间选择的功能,我现在是在外面又封装了一层来用的

zwhGithub commented 6 years ago

你好, 压缩的index.js 不支持吗? 但是源码支持对吗?

jinghh commented 6 years ago

应该是的,在nuxt项目中在模板中引入import Calendar from 'vue-calendar-component';的时候,报了document is not defined,源文件并没有用到document,报错指向的就是index.jsnode_modules\.2.6.1@vue-calendar-component\index.js上不了图,图片上传老是失败

Fucntion commented 6 years ago

建议支持选择日历区间

zwhGithub commented 6 years ago

比如你们想选择 2018-12-01到2018-12-04之间的日期。 为什么不传["2018-12-01","2018-12-02","2018-12-03","2018-12-04"] 数组呀。

jinghh commented 6 years ago

那我如果选了三个月的时间,那要传90个日期么,难道要用户选90次么,那显然是不合理的,后台录入也不方便。更合理的是返回一个数组["2018-12-01","2018-12-04"],或者一个对象{startTime:'2018-12-1',endTime:'2018-12-30'},这样前后端处理起来都方便

zwhGithub commented 6 years ago

因为选择是一个用户主动的动作,用户好像无法做到选择多个。

但是可以标记多个日期。

jinghh commented 6 years ago

可以设置一个临时变量来储存用户选择的值,如果用户设置的是时间区间,则在选择第二个时间的时候再向外触发choseDay事件。我已经在外面又封装了一层,已经实现了功能。你这个组件很好的一点就是可塑性很强。^。^

zwhGithub commented 6 years ago

因为index.js的代码 被我打包编译过,里面的css通过原生js 加上去的,所以不能再nuxt.js里面使用

shen-lan commented 5 years ago

可以设置一个临时变量来储存用户选择的值,如果用户设置的是时间区间,则在选择第二个时间的时候再向外触发choseDay事件。我已经在外面又封装了一层,已经实现了功能。你这个组件很好的一点就是可塑性很强。^。^

区间选择具体怎么做的?

jinghh commented 5 years ago

可以设置一个临时变量来储存用户选择的值,如果用户设置的是时间区间,则在选择第二个时间的时候再向外触发choseDay事件。我已经在外面又封装了一层,已经实现了功能。你这个组件很好的一点就是可塑性很强。^。^

区间选择具体怎么做的?

他这个日历面板显示和隐藏是用户自己控制的,而且可以拿到点击后的日期。我现在做得的是在外面封装一层,点击第一次的时候把选中的日期存到数组中,再点击第二次的时候再存到数组中,然后才关闭面板。当然这里有很多细节需要处理,比如,开始时间大于结束时间,你需要自己排个序。现在是选中第一个时间有选中效果,选中第二个后就直接关闭面版了,如果要给第二个时间加选中效果的话,还得改下源码

jinghh commented 5 years ago

可以设置一个临时变量来储存用户选择的值,如果用户设置的是时间区间,则在选择第二个时间的时候再向外触发choseDay事件。我已经在外面又封装了一层,已经实现了功能。你这个组件很好的一点就是可塑性很强。^。^

区间选择具体怎么做的?

我刚刚看他api上有标注日期的功能,应该能满足,你可以研究一下

shen-lan commented 5 years ago

谢谢

EternalShallow commented 5 years ago

ReferenceError: Clock is not defined
Object../node_modules/vue-calendar-component/dist/index.js

好像一直在说这个方法找不到

leochen-g commented 5 years ago

因为index.js的代码 被我打包编译过,里面的css通过原生js 加上去的,所以不能再nuxt.js里面使用

那如何在nuxt项目中使用呢,可以请教一下么