Перетаскивание (угловой материал CDK) не работает. Неверный предыдущий и текущий индекс - PullRequest
3 голосов
/ 24 апреля 2019

У меня есть список тем, и у каждой из них есть список цветов. Я отображаю все темы с помощью кнопки, которая открывает Angular Dialog, в диалоговом окне я перечисляю все цвета для этой темы, и эти цвета можно переупорядочить @angular/cdk/drag-drop.

Если у меня есть список только с 2-4 темами. Я могу без проблем переупорядочить все цвета для каждой темы. Но если у меня есть список с 20-30 темами. Работают только первые темы, я могу открыть диалоговое окно и изменить порядок элементов, но если я выбрал один из последних элементов, перетаскивание не работает.

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

Я создаю простое приложение на StackBlitz , где я могу воссоздать возникшую проблему. Вы можете попробовать нажать кнопку «Изменить» для первого элемента списка и увидеть, что он работает нормально, и вы можете изменить порядок цветов, но попробуйте изменить порядок последней темы в списке, и вы увидите, что она не работает. Я не вижу ошибок в консоли. Я пробовал оба с Chrome и Firefox, и оба имеют ту же проблему.

Вы также можете видеть в консоли текущий и предыдущий индексы при каждом перетаскивании цвета.

Вот ссылка на приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...