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