vue3 + elemnt plus 使用el-tooltip 报错 不能将类型 getBoundingClientRect = top number; left number; bottom number; right number; ; 分配给类型Measurable。 在这些类型中getBoundingClientRect 返回的类型不兼容。ts2322 应该怎么修改
这个错误是由于 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();
// 其他操作
}
}
}
这样就可以解决这个错误了
原文地址: https://www.cveoy.top/t/topic/cjxa 著作权归作者所有。请勿转载和采集!