Ваш источник данных всегда должен совпадать с тем, что отображается в представлении коллекции.
Самый простой способ - это иметь два массива для ваших данных. allData
и displayedData
. Ваш вид коллекции всегда будет рассматривать displayedData
как источник данных.
Если пользователь добавляет фильтр, вы обновляете значение в displayedData
и запускаете нужную анимацию. Когда пользователь удаляет фильтр, вы устанавливаете displayedData
обратно на allData
и снова анимируете.