angularjs dragdrop: фильтр в ng-repeat не может изменить индекс

Мой источник в плунжере ( клик)

Если я попытаюсь ввести ключевое слово "sa" в поле ввода, а затем переместить Samsung Galaxy S в приведенный ниже список (цель), перемещаемый элемент будет не тем, а "iPhone".

Я пытался решить эту проблему в течение 3 часов. Это очень простой код. Но я новичок в Angular JS, особенно в Angular-JS-Dragdrop. Но я знаю, как решить эту проблему. Но я не могу как это решить. Prbolem - это фильтр, который я использовал для быстрого поиска, как показано ниже.

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

Итак, без фильтра в ng-repeat он работал хорошо. Но, если я использую это в ng-repeat, проблема в том, что я не могу переместить элемент, который перетаскиваю. Пропущенный элемент в списке целей является другим. Причина, по-моему, в том, что фильтр не изменил индекс изменения после того, как он был отфильтрован. Как я могу решить это? Пожалуйста, я с нетерпением жду вашей помощи.

1 ответ

Решение

Я отредактировал ваш план, чтобы исправить это. В ваших опциях атрибутов для установки индекса перетаскиваемого элемента сделайте следующее:

jqyoui-draggable="{index: users.indexOf(item) ,animate: true}"
Другие вопросы по тегам