微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Meteor中的拖放可分类列表

你会怎么做这个

列表中的项目可以对应于集合中的记录,并且它们在列表中的位置可以对应于每个记录上的字段(“等级”),当“停止”事件发生时,该字段将必须被更新.

流星玩得很好用jQueryUI可排序吗?如果多个用户尝试一次拖动并排序相同的列表,会发生什么?流星需要定制排序行为?

解决方法

编辑:以下答案是过时的,@ cutemachine的答案或 http://blog.differential.com/sortable-lists-in-meteor-using-jquery-ui更接近于最先进的技术.

简短的答案是:如果你想要反应,这不容易.要制作一个非反应版本,只需将你的模板包装在一个{{#constant}}标签中,并以@bento建议的方式连接渲染中的jquery-ui sortable.

为了制作一个反应版本,你可排序的小部件将不得不处理它下面改变的事物(考虑在数据重新排序时中间拖动).这里有一些关于你将如何去做的想法:

>不幸的是,使动画变得不容易,这将导致可怜的用户体验.现在让我们离开吧.
>用以下类似的东西渲染项目:
{{#each items}}
{{>项目}}
{{/项目}}

当数据从服务器(没有动画)下来时,这将重新排序.
>设置渲染时可拖动的每个项目.你也可以

一世.使用像jquery-ui draggable这样的东西,并将其连接到项目模板的渲染中.如果排序从上游更改,则可能在执行此操作时遇到问题,因为底层元素可能在拖动期间消失.

II.实现您自己的拖动代码,也许使用较低级别的库.
>当一个项目被拖入位置时,立即在本地重新排列列表(这样用户应该看到正确的东西,希望服务器会尊重更改..但是我们也不会这样做).

我认为这样一个小部件有很大的需求,以流行的方式完成.这是在我的个人雷达(但是很多事情,包括一个很好的方式来重新排序与动画).

原文地址:https://www.jb51.cc/jquery/175815.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐