antd Popover 气泡卡片动态内容,首次位置不对解决方法

在表格中,移动到上面时,悬浮显示说明,首次移入时加载,想要效果如下图:

image.png

发现首次移入时,位置偏移了,这就挺闹心的

image.png

网上的解决方案是固定大小,但是对应动态内容是不适合的,自己使用定时器解决,代码如下:

<template>
  <a-popover placement="top"
             overlayClassName="tagPopover"
             :visible="popoverVisible"
             @visibleChange="(visible) =>init(visible)"
             :get-popup-container="getPopupContainer"
  >
    <template slot="content">
      <template v-for="(item, index) in reason">
        <div style="font-size: 12px;">{{ item.name }}({{ item.value }})</div>
      </template>
    </template>
    <span>{{ text ? text : '-' }}</span>
  </a-popover>
</template>

<script>
export default {
  name: 'AdjustmentTag',
  data() {
    return {
      popoverVisible: false
    }
  },
  props: {
    text: {
      type: Number,
      required: false
    },
    reason: {
      type: Array,
      required: false
    }
  },
  methods: {
    getPopupContainer(trigger) {
      return trigger.parentElement;
    },
    init(visible) {
      if(visible){
        const _this = this
        if (!this.reason) {
          visible = false
          setTimeout(function() {
            _this.popoverVisible = true
          }, 50)
          this.$emit('initData')
        }else {
          this.popoverVisible = true
        }
      } else {
        this.popoverVisible = false
      }
    }
  },
  mounted() {}
}
</script>

<style scoped>

</style>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容