这个错误是由于 Element Plus 的类型定义和 Vue 3 的类型定义不兼容导致的。可以通过在代码中手动指定类型来解决这个问题。

假设你的代码类似于下面这样:

<el-tooltip content="提示信息">
  <div>需要提示的文本</div>
</el-tooltip>

你可以通过在 el-tooltip 组件上添加 v-slot 来手动指定类型,如下所示:

<el-tooltip content="提示信息" v-slot="{ ref }">
  <div ref="ref">需要提示的文本</div>
</el-tooltip>

然后在组件中使用 ElementPlus.ElTooltip 类型来指定 ref 的类型,如下所示:

import { ElTooltip } from 'element-plus';

export default {
  components: {
    ElTooltip
  },
  methods: {
    showTooltip() {
      const ref = this.$refs.ref as ElementPlus.ElTooltip & { popper: Measurable };
      ref.popper.getBoundingClientRect();
      // 其他操作
    }
  }
}

这样就可以解决这个错误了

vue3 + elemnt plus 使用el-tooltip 报错 不能将类型 getBoundingClientRect = top number; left number; bottom number; right number; ; 分配给类型Measurable。 在这些类型中getBoundingClientRect 返回的类型不兼容。ts2322 应该怎么修改

原文地址: https://www.cveoy.top/t/topic/cjxa 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录