diff --git a/src/components/table/helpers/mixin-tbody-row.js b/src/components/table/helpers/mixin-tbody-row.js index 784d8132277..9507c1bcb57 100644 --- a/src/components/table/helpers/mixin-tbody-row.js +++ b/src/components/table/helpers/mixin-tbody-row.js @@ -204,7 +204,9 @@ export default { // a square bracket and if using in-document HTML templates, the // v-slot attributes are lower-cased by the browser. const slotNames = [`cell[${key}]`, `cell[${key.toLowerCase()}]`, 'cell[]'] - let $childNodes = this.normalizeSlot(slotNames, slotScope) || toString(formatted) + let $childNodes = this.hasNormalizedSlot(slotNames) + ? this.normalizeSlot(slotNames, slotScope) + : toString(formatted) if (this.isStacked) { // We wrap in a DIV to ensure rendered as a single cell when visually stacked! $childNodes = [h('div', {}, [$childNodes])] diff --git a/src/components/table/helpers/mixin-thead.js b/src/components/table/helpers/mixin-thead.js index 564f2e9ab32..361c559dc62 100644 --- a/src/components/table/helpers/mixin-thead.js +++ b/src/components/table/helpers/mixin-thead.js @@ -116,20 +116,22 @@ export default { ...slotNames ] } - const slot = this.normalizeSlot(slotNames, { - label: field.label, - column: field.key, - field, - isFoot, - // Add in row select methods - selectAllRows, - clearSelected - }) - if (!slot) { - // need to check if this will work + const hasSlot = this.hasNormalizedSlot(slotNames) + let slot = field.label + if (hasSlot) { + slot = this.normalizeSlot(slotNames, { + label: field.label, + column: field.key, + field, + isFoot, + // Add in row select methods + selectAllRows, + clearSelected + }) + } else { data.domProps = htmlOrText(field.labelHtml) } - return h(BTh, data, slot || field.label) + return h(BTh, data, slot) } // Generate the array of