我想显示一个以小时为间隔的日程表视图。然而,我也想要任意长度的事件。如果某件事花了1小时5分钟,那么我希望它显示为1小时5分钟。在一分钟内拖动调整大小快照到下一个可用的插槽。
我怎么能禁用这个快照拖动行为,并允许用户设置任意长度的事件?
这对我来说似乎不是一个不寻常的用例,其他人是如何解决这个问题的?
我尝试过的事情:
将slotMinutes设置为较低的值,例如"5"。这有助于调整大小,但也使默认事件长度为5分钟。而且它占用了很多空间。我尝试将槽的高度降低到1px,这在一定程度上起作用,但拖动动作变得不受时间尺度的限制。同时,点击时间的计算也变得非常不准确。
我不知道有什么程序化的解决方案,但我认为这个问题最好通过为事件添加第二个编辑屏幕来解决。
看看Google Calendar,你可以将事件拖拽到最接近的大小(通常对于大多数事件划分得很好)…然后在第二页上编辑事件,给出具体的开始/结束时间。
除此之外……当你说到任意长度时,你的意思是1分钟的精度,我假设-所以你实际上需要1分钟的槽。不确定这对用户来说有多麻烦。你可以设置1分钟的时间,然后每半小时只在左边显示一次时间。不知道在代码的哪里,这将是,但试着看看/src/agenda/agenda .js