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