From 6dd25da619ecb4174d48ea9844ca5996fe5e1a49 Mon Sep 17 00:00:00 2001 From: BeADre Date: Wed, 27 Jan 2021 15:25:55 +0800 Subject: [PATCH] fix(table): remove tooltip when the component destroyed (#1245) --- packages/table/src/table-body/index.ts | 7 ++++++- packages/table/src/util.ts | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/table/src/table-body/index.ts b/packages/table/src/table-body/index.ts index e595575e86..ae047da6c0 100644 --- a/packages/table/src/table-body/index.ts +++ b/packages/table/src/table-body/index.ts @@ -1,11 +1,12 @@ import { addClass, removeClass } from '@element-plus/utils/dom' import isServer from '@element-plus/utils/isServer' -import { defineComponent, getCurrentInstance, h, PropType, watch } from 'vue' +import { defineComponent, getCurrentInstance, h, PropType, watch, onUnmounted } from 'vue' import { hColgroup } from '../h-helper' import useLayoutObserver from '../layout-observer' import { Store, Table } from '../table.type' import useRender from './render-helper' import { TableBodyProps } from './table-body' +import { removePopper } from '../util' export default defineComponent({ name: 'ElTableBody', props: { @@ -60,6 +61,10 @@ export default defineComponent({ }, ) + onUnmounted(() => { + removePopper?.() + }) + return { onColumnsChange, onScrollableChange, diff --git a/packages/table/src/util.ts b/packages/table/src/util.ts index 34f07888d6..fb6c6a43d4 100644 --- a/packages/table/src/util.ts +++ b/packages/table/src/util.ts @@ -298,6 +298,8 @@ export function walkTreeNode( }) } +export let removePopper + export function createTablePopper( trigger: HTMLElement, popperContent: string, @@ -320,7 +322,7 @@ export function createTablePopper( function showPopper() { popperInstance && popperInstance.update() } - function removePopper() { + removePopper = function removePopper() { try { popperInstance && popperInstance.destroy() content && document.body.removeChild(content)