angularjs dragdrop : ng-repeat 中的过滤器无法更改索引

angularjs dragdrop : filter in ng-repeat can't change the index

我的来源在 plunker (click)

如果我尝试在输入框中输入关键字 'sa' 然后将 Samsung Galaxy S 移动到下面的列表(目标),移动的项目不是那个,而是 "iPhone" 。

我花了 3 个小时尝试解决这个问题。这是非常简单的代码。但是我是angular js的新手,尤其是angular-js-dragdrop。但我知道如何解决这个问题。但我不知道如何解决这个问题。 prbolem 是我用来快速搜索的过滤器,如下所示。

ng-repeat='item in users | filter:q'

因此,在 ng-repeat 中没有过滤器时,它运行良好。但是,如果我在 ng-repeat 中使用它,问题是我无法移动我拖动的项目。目标列表中掉落的项目是另一个。我想,原因是过滤器在过滤后没有更改更改的索引。我该如何解决这个问题?请期待您的帮助。

我已编辑您的 plunk 以修复它。 在您的选项属性中设置拖动元素的索引,请执行以下操作:

jqyoui-draggable="{index: users.indexOf(item) ,animate: true}"