我正在使用Knockout-sortable对表中的记录进行拖放/排序,但我遇到了一个问题。我不知道如何跟踪元素的排序索引中的位置。(即元素A、B和C按此顺序出现,并分别以1、2、3作为索引,但如果B落在A之上,则正确的索引将是2、1、3)
我的代码中没有任何东西是自定义的:我只包含了knockout-sortable,而且它是即插即用的。我通常都会包含一个代码片段,但我觉得这没什么用。我唯一知道的是,我可能需要一个ko.computed(),但我不知道要填什么。
发布于 2012-10-16 16:35:28
如果查看示例http://jsfiddle.net/rniemeyer/Jr2rE/,您可以看到该插件通过更新可观察到的数据数组来工作。因此,您不必跟踪索引值。从技术上讲,记录的顺序为您提供了所需的所有信息。
话虽如此,我在去年也遇到了同样的问题。为了解决我的问题,我为我的可观察数组中的每个对象添加了一个连续编号的索引属性。然后,当可排序插件重新排列可观察数组的内容时,我只需读出新的index属性就可以知道排序顺序。
https://stackoverflow.com/questions/12909082
复制相似问题