【Element】el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预览不完整问题

现象

el-dialog 内使用 el-image 并添加 preview-src-list 预览,拖拽导致图片预览不完整

  <el-dialog
    width="500"
    v-model="visible"
    :title="activeProp?.name"
    @close="handleClose"
    :draggable="true"  // 可拖拽
    align-center
    modal-class="preview-entity-prop-dialog-modal"
    .....
      <el-image
          v-for="img in imageList"
          style="width: 100%; height: auto"
          :src="img"
          :preview-src-list="imageList" // 可预览
          fit="contain"
        />

在这里插入图片描述

解决方法

添加 preview-teleported 属性,官方对这个的解释是:

image-viewer 是否插入至 body 元素上。 嵌套的父元素属性会发生修改时应该将此属性设置为 true

在这里插入图片描述

        <el-image
          :preview-teleported="true"
          v-for="img in imageList"
          style="width: 100%; height: auto"
          :src="img"
          :preview-src-list="imageList"
          fit="contain"
        />

在这里插入图片描述

参考博客

解决el-image在el-dialog内预览展示不全

element el-dialog弹窗拖动不生效的原因可能是没有正确配置v-dialogDrag属性。根据引用\[1\]和引用\[2\]的内容,正确的配置方式是在el-dialog标签上添加v-dialogDrag属性。例如:<el-dialog v-dialogDrag>。此外,还需要确保el-dialog标签的父元素没有设置overflow:hidden样式,以防止溢出。如果以上配置都正确,但拖动仍然不生效,可能是因为el-dialog的visible.sync属性没有正确绑定到数据中。可以通过检查visible属性的值来确定是否正确绑定。另外,引用\[3\]中提到,如果每次打开时位置都需要居中,可以给el-dialog添加v-if属性,并在打开时设置为true,关闭时设置为false。这样每次打开时都会重新渲染el-dialog,确保位置居中。 #### 引用[.reference_title] - *1* [vue el-dialog 弹窗实现拖拽效果](https://blog.csdn.net/weixin_43316300/article/details/110383831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Vue中使用element-ui的el-dialog对话框,实现拖拽效果](https://blog.csdn.net/weixin_51258044/article/details/121854257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue + element-ui el-dialog拖拽功能](https://blog.csdn.net/weixin_52103939/article/details/122405342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值