Skip to content

Commit 8a34c2c

Browse files
committed
Fix: setAttribute doesn't allow to set an undefined value. Returning empty string, the warning is enough to review a problem.
1 parent 14d0f1e commit 8a34c2c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

packages/bootstrap-vue-3/src/directives/BTooltip.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ const resolveDelay = (values: DirectiveBinding['value']): Tooltip.Options['delay
6565
return 0
6666
}
6767

68-
const resolveTitle = (values: DirectiveBinding['value']): Tooltip.Options['title'] | undefined => {
68+
const resolveTitle = (values: DirectiveBinding['value']): Tooltip.Options['title'] => {
6969
if (typeof values === 'undefined') {
7070
console.warn('Review tooltip directive usage. Some uses are not defining a title in root component or a value like `v-b-tooltip=\'{title: "my title"}\'` nor `v-b-tooltip="\'my title\'"` to define a title');
71-
return;
71+
return '';
7272
}
7373
return typeof values === 'object' ? values?.title : values;
7474
}
@@ -80,7 +80,7 @@ const BTooltip: Directive<HTMLElement> = {
8080
beforeMount(el, binding) {
8181
el.setAttribute('data-bs-toggle', 'tooltip')
8282
if (!el.getAttribute('title')) {
83-
el.setAttribute('title', resolveTitle(binding.value)?.toString())
83+
el.setAttribute('title', resolveTitle(binding.value).toString())
8484
}
8585

8686
const isHtml = /<("[^"]*"|'[^']*'|[^'">])*>/.test(el.title)
@@ -102,7 +102,7 @@ const BTooltip: Directive<HTMLElement> = {
102102
},
103103
updated(el, binding) {
104104
if (!el.getAttribute('title')) {
105-
el.setAttribute('title', resolveTitle(binding.value)?.toString())
105+
el.setAttribute('title', resolveTitle(binding.value).toString())
106106
}
107107

108108
const title = el.getAttribute('title')

0 commit comments

Comments
 (0)