File tree Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Original file line number Diff line number Diff line change @@ -115,10 +115,8 @@ export default defineComponent({
115
115
instance . group = props . group ;
116
116
}
117
117
118
- let realListeners = listeners ;
119
- if ( ! realListeners ) {
120
- realListeners = { } ;
121
-
118
+ const realListeners : Record < string , any > = { } ;
119
+ if ( ! listeners ) {
122
120
Object . keys ( attrs )
123
121
. filter ( key => isOn ( key ) )
124
122
. forEach ( key => {
@@ -145,15 +143,15 @@ export default defineComponent({
145
143
realListeners [ event ] = attrs [ key ] ;
146
144
} ) ;
147
145
} else {
148
- // Vue 2 native DOM events
149
- Object . keys ( realListeners ) . forEach ( key => {
150
- const index = key . indexOf ( " native:" ) ;
151
- if ( index === 0 || index === 1 || index === 2 ) {
152
- // native:click -> click
153
- // ~native:click -> ~click
154
- // ~!native:click -> ~!click (eg: .capture.once)
155
- nativeEventAttrs [ key . slice ( 0 , index ) + key . slice ( index + 7 ) ] =
156
- realListeners [ key ] ;
146
+ // native:click -> click
147
+ // ~native:click -> ~click
148
+ // &~! native:click -> &~!click
149
+ const regex = / ( ^ & ? ~ ? ! ? ) n a t i v e : / ;
150
+ Object . keys ( listeners ) . forEach ( key => {
151
+ if ( regex . test ( key ) ) {
152
+ nativeEventAttrs [ key . replace ( regex , "$1" ) ] = listeners [ key ] ;
153
+ } else {
154
+ realListeners [ key ] = listeners [ key ] ;
157
155
}
158
156
} ) ;
159
157
}
You can’t perform that action at this time.
0 commit comments