el-table show-overflow-tooltip触发,切换页面,导致提示信息不消失悬停左上角
时间: 2024-09-19 07:09:18 浏览: 59
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
`el-table` 是 Element UI 中的一个表格组件,它支持 `show-overflow-tooltip` 属性,用于在单元格内容超出时显示一个提示 tooltip。当你设置这个属性后,当鼠标悬停在超长内容区域时,会显示一个提示信息。
然而,如果在表格内容滚动或用户切换页面后,由于浏览器的渲染策略,之前的 tooltip 可能不会自动关闭,而是停留在原位置,看起来像是悬停在屏幕左上角。这是因为 tooltip 的生命周期管理通常只关联当前的 DOM 元素,而不是用户的滚动位置。
解决这个问题的一般做法是手动控制 tooltip 的显示和隐藏,例如在 `mounted` 或者 `updated` 生命周期钩子中添加一些处理逻辑,当滚动事件发生时,检查是否需要关闭 tooltip。你可以使用 Vue 的 `$refs` 来获取 tooltip 实例,并在适当的时候调用它的 `hide()` 方法。
```javascript
export default {
mounted() {
this.$refs.myTable.$on('cell-click', () => {
// 如果需要关闭 tooltip,在这里操作
this.$refs.tooltip.hide();
});
window.addEventListener('scroll', () => {
// 检查是否应该隐藏 tooltip
if (!this.$refs.tooltip || !this.$refs.tooltip.$el.contains(document.activeElement)) {
this.$refs.tooltip && this.$refs.tooltip.hide();
}
});
},
methods: {
// ...
},
components: {
ElTable: { ... },
MyTooltipComponent: { ... }, // 如果你自定义了 tooltip 组件
},
};
```
阅读全文