我使用下面的代码来显示一个 backbone 加载器,当它完成时,它需要淡出,而另一个div淡入,在它的位置。
<transition name="fade" mode="out-in">
<b-skeleton-table
v-show="showSkeletons"
:rows="5"
:columns="4"
:table-props="{ bordered: true, striped: true }"
/>
<div v-show="showPageContent">
<slot name="content" />
</div>
<div v-show="showEmptyState">
<slot name="empty-state" />
</div>
</transition>
我不得不使用v-show,因为内容槽有时包含一个带有数据的表,无论返回的表是否有0行或更多行,它都会发出一个值,根据这个结果,我想显示空状态与否。
但是文档声明transitions不能用于multiple,并且需要一个v-if指令,因为v-if不呈现里面的数据,所以我不能使用这个指令,因为我需要从内容槽发出的数据。
1条答案
按热度按时间0lvr5msh1#
由于您试图转换多个元素,我认为您可能需要考虑使用transition-group。
Here is a StackBlitz,希望能为您提供一些灵感。您应该能够交换
v-show
以使用v-if
(如果)您需要该功能。