我对淘汰赛有点陌生,但在谷歌和堆栈溢出的帮助下,我设法找到了我需要的部分。我似乎无法让他们一起工作。
因此,我将 RP Niemeyer 的代码片段作为答案发布在这里或他的网站上。我正在使用淘汰赛可排序、脏标志和可排序项目的观察索引。
我正在寻找的是一种在我恢复脏项目时使可排序更新其顺序的方法。我的对象上的索引属性得到恢复,但可排序区域中项目的顺序不会根据恢复的值进行更新。
这是一个问题的例子。
如果您将“项目 1”移动到“项目 2”之后,您会看到两个项目都变脏(应该如此)。然后单击“还原”按钮。请注意“订单”项目是如何更新的,而不是它们在可排序中的顺序。
更糟糕的是(这有点像问题的副作用),将“项目 3”移动到“项目 4”之后,您会看到现在项目 1 到 4 被标记为脏。
这是因为在还原脏项目时未重置可排序项目的顺序。“项目 1”的可观察顺序的值为 0,但它位于可排序的索引 1 中。因此,代码再次将其标记为脏。
如果有人能指出我需要改变什么以使其按我想要的方式工作,我将不胜感激。
The code is quite lengthy and I wouldn't know which part to post here, but apparently I need a code block to be allowed to post my fiddle link. :(
在此先感谢,路德维格