2

我正在使用Knockout-sortable拖放/排序表中的记录,但我遇到了问题。我不知道如何跟踪元素排序索引中的位置。(即元素 A、B 和 C 以该顺序出现,并分别以 1、2、3 作为索引,但如果 B 高于 A,则正确的索引将是 2、1、3)

我的代码中没有任何东西是自定义的:我只包含了可淘汰排序并且它是即插即用的。我通常总是包含一个代码片段,但我觉得这没什么用。我唯一知道的是我可能需要一个ko.computed(),但我不知道用什么来填充它。

4

1 回答 1

2

如果您查看示例http://jsfiddle.net/rniemeyer/Jr2rE/,您可以看到该插件通过更新可观察的数据数组来工作。因此,您不必跟踪索引值。从技术上讲,记录的顺序为您提供了所需的所有信息。

话虽如此,我在去年遇到了同样的问题。为了解决我的问题,我为可观察数组中的每个对象添加了一个连续编号的索引属性。然后,当 sortable 插件重新排列 observable 数组的内容时,我只需读出新的 index 属性即可知道排序顺序。

于 2012-10-16T08:35:27.793 回答