@@ -97,13 +97,14 @@ const CPopover = defineComponent({
97
97
} )
98
98
}
99
99
100
- const handleToggle = ( ) => {
100
+ const handleToggle = ( event : Event ) => {
101
+ togglerRef . value = event . target
101
102
visible . value = ! visible . value
102
103
}
103
104
104
105
const initPopper = ( ) => {
105
106
if ( togglerRef . value ) {
106
- popper . value = createPopper ( togglerRef . value . firstChild , popoverRef . value , {
107
+ popper . value = createPopper ( togglerRef . value , popoverRef . value , {
107
108
placement : props . placement ,
108
109
modifiers : [
109
110
{
@@ -167,28 +168,16 @@ const CPopover = defineComponent({
167
168
) ,
168
169
) ,
169
170
) ,
170
- h (
171
- 'span' ,
172
- {
173
- style : {
174
- display : 'contents' ,
171
+ slots . toggler &&
172
+ slots . toggler ( {
173
+ on : {
174
+ click : ( event : Event ) => props . trigger . includes ( 'click' ) && handleToggle ( event ) ,
175
+ blur : ( event : Event ) => props . trigger . includes ( 'focus' ) && handleToggle ( event ) ,
176
+ focus : ( event : Event ) => props . trigger . includes ( 'focus' ) && handleToggle ( event ) ,
177
+ mouseenter : ( event : Event ) => props . trigger . includes ( 'hover' ) && handleToggle ( event ) ,
178
+ mouseleave : ( event : Event ) => props . trigger . includes ( 'hover' ) && handleToggle ( event ) ,
175
179
} ,
176
- ref : togglerRef ,
177
- } ,
178
- {
179
- default : ( ) =>
180
- slots . toggler &&
181
- slots . toggler ( {
182
- on : {
183
- click : ( ) => props . trigger . includes ( 'click' ) && handleToggle ( ) ,
184
- blur : ( ) => props . trigger . includes ( 'focus' ) && handleToggle ( ) ,
185
- focus : ( ) => props . trigger . includes ( 'focus' ) && handleToggle ( ) ,
186
- mouseenter : ( ) => props . trigger . includes ( 'hover' ) && handleToggle ( ) ,
187
- mouseleave : ( ) => props . trigger . includes ( 'hover' ) && handleToggle ( ) ,
188
- } ,
189
- } ) ,
190
- } ,
191
- ) ,
180
+ } ) ,
192
181
]
193
182
} ,
194
183
} )
0 commit comments