Skip to content

Commit feb4f03

Browse files
kingyue737Justineo
authored andcommitted
fix: remove native: events from realListeners
1 parent 5cdff0b commit feb4f03

File tree

1 file changed

+11
-13
lines changed

1 file changed

+11
-13
lines changed

src/ECharts.ts

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,8 @@ export default defineComponent({
115115
instance.group = props.group;
116116
}
117117

118-
let realListeners = listeners;
119-
if (!realListeners) {
120-
realListeners = {};
121-
118+
const realListeners: Record<string, any> = {};
119+
if (!listeners) {
122120
Object.keys(attrs)
123121
.filter(key => isOn(key))
124122
.forEach(key => {
@@ -145,15 +143,15 @@ export default defineComponent({
145143
realListeners[event] = attrs[key];
146144
});
147145
} 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 = /(^&?~?!?)native:/;
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];
157155
}
158156
});
159157
}

0 commit comments

Comments
 (0)