VUE的transition-group的绝对定位动画问题

用transition-group做一个图片列表

clipboard.png

我希望在删除图片元素的时候周围的元素可以平滑的运动过去,VUE官方文档说需要设置删除元素为绝对定位,但是如果删除每一行的第一个元素,由于设置了绝对定位这个元素会移动到上一行的行末,如下图

clipboard.png

代码如下

<transition-group tag='div' name='imgs' style='position:relative'  class='upload-preview' v-if='imgs.length'>
            <div v-for='(item,index) in imgs'  :key='item.url' :style='{backgroundImage:`url(${item.url})`}' class='img-preview' @mouseenter='imgSettingsShow=item.url' @mouseleave='imgSettingsShow=""'>
                <div class='img-settings' v-show='imgSettingsShow===item.url'>
                    <i class='fa fa-search-plus' @click='magnifyURL=item.url'></i>
                    <i class='fa fa-trash-o' @click='deleteImg(index)'></i>
                </div>
                <div class='select-wrapper'>
                    <div class='img-select' @click='updateImgChecked(item)' :style='{background:item.checked?"#409eff":"#fff"}'><span>✓</span></div>
                </div>
            </div>
        </transition-group>```
阅读 4.9k
2 个回答

同问,我也想问这个,楼主解决了吗

新手上路,请多包涵

只需要为离开的状态动画设置绝对定位即可

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题