el-popover 初始弹出位置不准确,及el-popover

问题描述

使用el-popover 弹窗框,弹出提示,初始化提示位置不正确

<el-popover
                ref="popperHeart"
                placement="bottom"
                width="720"
                trigger="click">
                <div class="help-tips">
                  <div class="help-tips-title">
                    功能分级的比较
                  </div>
                  <el-table
                    border
                    class="common-table"
                    :data="Dict.exhaustionTable"
                    height="345">
                    <el-table-column
                      prop="stage"
                      label="阶段"
                      width="120" />
                    <el-table-column
                      prop="definition"
                      label="定义" />
                  </el-table>
                </div>
                <img
                  slot="reference"
                  :src="require('@/assets/images/help-icon.png')"
                  @load="imgLoad">
              </el-popover>

解决方案:

给嵌套的Table 设置高度后,位置就正确了

其他关于el-popover 位置的问题:

  1. 如果里面数据动态化之后有问题位置不正确
/**
* 需获取到数据之后要
* this.$refs.popover.updatePopper()一下(用来重新计算位置的)
*/
  this.$nextTick(()=> {
    this.$refs.dcPopover.updatePopper() // 注意主要是这里
   })
  1. 触发方式为 hover 时的,可以修改open-delay
// open-delay 属性 值 过小时 没有作用
<el-popover ref="popperHeart" placement="bottom" width="720"  trigger="hover" :open-delay="500">
  1. 设置popper 的边界元素 boundariesElement: ‘viewport’,
<el-popover 
    ref="popperHeart" 
    placement="bottom" 
    width="720" 
    trigger="hover"
    :popper-options="{ boundariesElement: 'viewport', removeOnDestroy: true }"
>

boundariesElement默认是’viewport’,如果不需要跟边界重新计算元素的位置设置为’body’即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值