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