elementUI el-dialog 解决embed标签无法实时更新预览PDF文件

<el-dialog class="padd-dialog" width="60%" title="详情" @opened="opened" :visible.sync="previewDialogvisible" append-to-body>
      <div class="dialog-body">
<!--        <embed style="width:100%;height:600px">-->
      </div>
    </el-dialog> 

  js

opened(){
            let oldEmbed = document.querySelector("embed");
            if(oldEmbed != null){
                oldEmbed.parentNode.removeChild(oldEmbed);
            }
            let dialogBody = document.querySelector(".dialog-body");
            let embed = document.createElement("embed");
            embed.src = this.url;
            embed.style.width="100%";
            embed.style.height="600px";
            dialogBody.appendChild(embed);
        },

  

转载于:https://www.cnblogs.com/dyy-dida/p/11405438.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以在 el-dialog 组件中监听滚动事件,在滚动到 el-cascader 组件所在的位置时,手动触发 el-cascader 组件的 `handleClickoutside` 方法来隐藏所有子菜单。 例如: ```html <el-dialog title="Dialog Title" :visible.sync="dialogVisible" @scroll.native="handleDialogScroll" > <el-cascader ref="cascader" :options="options" :props="{ lazy: true }" ></el-cascader> </el-dialog> ``` ```javascript methods: { handleDialogScroll() { const cascaderEl = this.$refs.cascader.$el const cascaderOffsetTop = cascaderEl.offsetTop const cascaderHeight = cascaderEl.offsetHeight const scrollTop = this.$refs.dialog.$el.scrollTop const dialogHeight = this.$refs.dialog.$el.offsetHeight const scrollBottom = scrollTop + dialogHeight if ( cascaderOffsetTop >= scrollTop && cascaderOffsetTop + cascaderHeight <= scrollBottom ) { // el-cascader 组件在可视区域内,不做处理 return } // el-cascader 组件不在可视区域内,隐藏所有子菜单 const cascader = this.$refs.cascader if (cascader.isExpand) { cascader.handleClickoutside() } } } ``` 在滚动事件中,首先获取 el-cascader 组件的位置和高度信息,以及 el-dialog 组件的滚动位置和高度信息,然后根据这些信息判断 el-cascader 组件是否在当前可视区域内。如果 el-cascader 组件不在可视区域内,就手动触发 el-cascader 组件的 `handleClickoutside` 方法来隐藏所有子菜单。 需要注意的是,这里的 `handleClickoutside` 方法是 el-cascader 组件内部的一个方法,需要通过 `$refs` 获取到 el-cascader 组件的实例才能调用。同时,`isExpand` 属性是 el-cascader 组件内部用于判断子菜单是否展开的属性,需要保证 el-cascader 组件已经加载完成并且展开过子菜单才能使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值