transition-group
отображает фактический элемент: <span>
по умолчанию. Так что есть дополнительные span
между v-layout
и v-flex
. Это приводит к неисправности flexbox.
transition-group
должен что-то визуализировать. Вы можете установить его на v-layout
вместо span
.
НО , transition-group
имеет ограничение. Он может установить tag
, но не может установить props
. Итак, для row wrap pb-2 pt-2
вы должны добавить его вручную с помощью CSS.
изменить
<template>
...
<v-layout row wrap pb-2 pt-2>
<transition-group name="cards">
...
</transition-group>
</v-layout>
...
</template>
до
<template>
...
<transition-group name="cards" tag="v-layout" class="manual-v-layout">
...
</transition-group>
...
</template>
<style>
.manual-v-layout {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-flex: 1;
-ms-flex: 1 1 auto;
flex: 1 1 auto;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
padding-bottom: 8px !important;
padding-top: 8px !important;
}
</style>
и это будет работать.
Демо: https://codesandbox.io/s/z2z5yoopol