всех элементов
2) есть фильтры для этих элементов.
3) я сделал так: <v-row>, в нём <v-col for="(item, i) in items">, в нём <v-card v-if="canShow(item)">.
canShow возращает тру если этот элемент не отсекается фильтрами.
4) проблема: при использовании фильтров скрываются ненужные карточки, но v-col никуда не деваются, и оставшиеся карточки остаются на своих местах, а между ними пустота (на месте скрытых карточек).
v-for вместе с v-if использовать нельзя, так что скрыть с помощью canShow() колонку целиком нельзя. если между v-row и v-col вставить какой-нибудь <div>, то ширина колонок сбивается, потому что между v-row и v-col ничего не должно быть.
на ум приходит вариант с промежуточным массивом, где будут только те элементы, которые прошли фильтрацию, но может быть есть какой-то другой вариант?
фильтры - не фильтры из vuejs, а просто метод canShow
Потому, что это делается не через items, а через filteredItems, который в computed
Обсуждают сегодня