fix(table): remove tooltip when the component destroyed (#1245)

This commit is contained in:
BeADre 2021-01-27 15:25:55 +08:00 committed by GitHub
parent 903c05a848
commit 6dd25da619
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 2 deletions

View File

@ -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,

View File

@ -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)