yandex-maps-unofficial / vue-yandex-maps

Yandex Maps 3.0 components library for VueJS.
https://yandex-maps-unofficial.github.io/vue-yandex-maps/
MIT License
70 stars 9 forks source link

Следит ли yandex-map-marker #262

Closed Denisoov closed 5 months ago

Denisoov commented 5 months ago

Версия библиотеки

2.0.0-rc.13

Как воспроизвести

Достаточно через v-for создать список из <yandex-map-marker> после чего отфильтровать список маркеров и вернуть в исходное состояние списка, то выпадает ошибка в консоль image

Ошибка: image

Опишите проблему

Проблема обновления маркеров на карте при манипуляции с массивом данных о маркерах

Дополнительная информация

No response

Ответы на вопросы

daniluk4000 commented 5 months ago

Здравствуйте. Мы точно так же используем маркеры и с ними всё хорошо.

На моей практике, такая ошибка может возникать, если недостаточно уникально указать ключ этим маркерам, после чего обновляется что-то, что не указано в ключе, и оно падает.

Яндекс выполняет некоторые манипуляции с DOM, которые Vue не очень нравятся, но правильно указанный ключ решает проблему. Попробуйте поиграться с key.

Denisoov commented 5 months ago

@daniluk4000 а может ли передача списка данных через props как-то афектить? Может подскажете BEST PRACTICS как лучше подать данные и стоит ли применить к ключу шаблонный литерал?

daniluk4000 commented 5 months ago

@daniluk4000 а может ли передача списка данных через props как-то афектить? Может подскажете BEST PRACTICS как лучше подать данные и стоит ли применить к ключу шаблонный литерал?

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

Видел еще писали про wrapper attrs. Влиять не должно, но если влияет, пишите

Denisoov commented 5 months ago

@daniluk4000 да я попробовал добавить уникальность ключам и все заработало, спасибо за оперативность!