javascript - 如何使用 Knockout-sortable 跟踪排序索引?

标签 javascript knockout.js

我正在使用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/

相关文章:

javascript - ES6 中没有变量声明的对象解构赋值

javascript - knockout 绑定(bind)在 foreach 绑定(bind)中中断

knockout.js - 为什么 knockout.js textInput 绑定(bind)不起作用?

knockout.js - 现在当 jQuery.tmpl 被 knockout 时,Knockout 的默认模板引擎

zend-framework - Durandal:如何将配置数据从 HTML Host 传递到 ViewModel?

javascript - html网页在不同浏览器中的变化

javascript - 如何将我的数据传递到 google 图表 api?

javascript - 当 JQuery 元素更新时,Knockout JS 自定义绑定(bind)不会更新

javascript - 带有 TypeScript 错误的 Angular HTTP GET http.get(...).map 不是 [null] 中的函数

javascript - 为什么在这种情况下,结合在 knockout 中不起作用?