File tree Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Expand file tree Collapse file tree 1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
1
2
import { Directive , DirectiveBinding } from 'vue'
2
3
import Tooltip from 'bootstrap/js/dist/tooltip'
3
4
@@ -59,23 +60,30 @@ const BTooltip: Directive<HTMLElement> = {
59
60
const trigger = resolveTrigger ( binding . modifiers )
60
61
const placement = resolvePlacement ( binding . modifiers )
61
62
const delay = resolveDelay ( binding . value )
63
+ const title = el . getAttribute ( 'title' )
62
64
63
65
new Tooltip ( el , {
64
66
trigger,
65
67
placement,
66
68
delay,
67
69
html : isHtml ,
68
70
} )
71
+
72
+ if ( title ) {
73
+ el . setAttribute ( 'data-bs-original-title' , title )
74
+ }
69
75
} ,
70
76
updated ( el ) {
71
77
const title = el . getAttribute ( 'title' )
78
+ const originalTitle = el . getAttribute ( 'data-bs-original-title' )
79
+ const instance = Tooltip . getInstance ( el )
80
+
81
+ el . removeAttribute ( 'title' )
72
82
73
- if ( title !== '' ) {
74
- const instance = Tooltip . getInstance ( el )
75
- instance ?. toggle ( )
76
- el . setAttribute ( 'data-bs-original-title' , title || '' )
77
- el . setAttribute ( 'title' , '' )
78
- instance ?. toggle ( )
83
+ if ( title && title !== originalTitle ) {
84
+ // @ts -ignore
85
+ instance ?. setContent ( { '.tooltip-inner' : title } )
86
+ el . setAttribute ( 'data-bs-original-title' , title )
79
87
}
80
88
} ,
81
89
unmounted ( el ) {
You can’t perform that action at this time.
0 commit comments