diff --git a/packages/table/src/table-body/events-helper.ts b/packages/table/src/table-body/events-helper.ts index d0231255ae..5a1844054d 100644 --- a/packages/table/src/table-body/events-helper.ts +++ b/packages/table/src/table-body/events-helper.ts @@ -88,7 +88,7 @@ function useEvents(props: TableBodyProps) { createTablePopper(cell, cell.innerText || cell.textContent, { placement: 'top', strategy: 'fixed', - }) + }, row.tooltipEffect) } } const handleCellMouseLeave = event => { diff --git a/packages/table/src/table-body/index.ts b/packages/table/src/table-body/index.ts index ae047da6c0..a7c8abb4eb 100644 --- a/packages/table/src/table-body/index.ts +++ b/packages/table/src/table-body/index.ts @@ -15,6 +15,7 @@ export default defineComponent({ type: Object as PropType, }, stripe: Boolean, + tooltipEffect: String, context: { default: () => ({}), type: Object, diff --git a/packages/table/src/table-body/render-helper.ts b/packages/table/src/table-body/render-helper.ts index 87aa769688..7f883d1a44 100644 --- a/packages/table/src/table-body/render-helper.ts +++ b/packages/table/src/table-body/render-helper.ts @@ -43,7 +43,8 @@ function useRender(props: TableBodyProps) { return index } const rowRender = (row, $index, treeRowData) => { - const { indent, columns } = props.store.states + const { tooltipEffect, store } = props + const { indent, columns } = store.states const rowClasses = getRowClass(row, $index) let display = true if (treeRowData) { @@ -108,7 +109,7 @@ function useRender(props: TableBodyProps) { class: getCellClass($index, cellIndex, row, column), rowspan, colspan, - onMouseenter: $event => handleCellMouseEnter($event, row), + onMouseenter: $event => handleCellMouseEnter($event, { ...row, tooltipEffect }), onMouseleave: handleCellMouseLeave, }, [column.renderCell(data)], diff --git a/packages/table/src/table-body/table-body.d.ts b/packages/table/src/table-body/table-body.d.ts index bcfdef2e8c..3166a14908 100644 --- a/packages/table/src/table-body/table-body.d.ts +++ b/packages/table/src/table-body/table-body.d.ts @@ -8,6 +8,7 @@ interface TableBodyProps { rowStyle: AnyObject | fn fixed: string highlight: boolean + tooltipEffect: string } export { diff --git a/packages/table/src/table.vue b/packages/table/src/table.vue index 447be30a0d..c078214360 100644 --- a/packages/table/src/table.vue +++ b/packages/table/src/table.vue @@ -45,6 +45,7 @@ :context="context" :highlight="highlightCurrentRow" :row-class-name="rowClassName" + :tooltip-effect="tooltipEffect" :row-style="rowStyle" :store="store" :stripe="stripe" @@ -129,6 +130,7 @@ , + tooltipEffect: string, ) { function renderContent(): HTMLDivElement { + const isLight = tooltipEffect === 'light' const content = document.createElement('div') - content.className = 'el-tooltip__popper is-dark' + content.className = `el-popper ${isLight ? 'is-light' : 'is-dark'}` content.innerHTML = popperContent content.style.zIndex = String(PopupManager.nextZIndex()) document.body.appendChild(content)