Skip to content

Commit a5b8d36

Browse files
committed
fix(tabs): resolve wheel event listener passive warning
1 parent 39b69d5 commit a5b8d36

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

packages/web-vue/components/tabs/tabs-nav.tsx

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
defineComponent,
55
nextTick,
66
onMounted,
7+
onUnmounted,
78
PropType,
89
ref,
910
toRefs,
@@ -20,6 +21,7 @@ import IconHover from '../_components/icon-hover.vue';
2021
import IconPlus from '../icon/icon-plus';
2122
import ResizeObserver from '../_components/resize-observer';
2223
import { isUndefined, isNumber } from '../_utils/is';
24+
import { off, on } from '../_utils/dom';
2325

2426
export default defineComponent({
2527
name: 'TabsNav',
@@ -206,6 +208,9 @@ export default defineComponent({
206208

207209
const handleDelete = (key: string | number, ev: Event) => {
208210
emit('delete', key, ev);
211+
nextTick(() => {
212+
delete tabsRef.value[key];
213+
});
209214
};
210215

211216
const handleButtonClick = (type: string) => {
@@ -238,6 +243,15 @@ export default defineComponent({
238243

239244
onMounted(() => {
240245
getSize();
246+
if (wrapperRef.value) {
247+
on(wrapperRef.value, 'wheel', handleWheel, { passive: false });
248+
}
249+
});
250+
251+
onUnmounted(() => {
252+
if (wrapperRef.value) {
253+
off(wrapperRef.value, 'wheel', handleWheel);
254+
}
241255
});
242256

243257
const renderAddBtn = () => {
@@ -300,7 +314,7 @@ export default defineComponent({
300314
/>
301315
)}
302316
<ResizeObserver onResize={() => getSize()}>
303-
<div class={tabCls.value} ref={wrapperRef} onWheel={handleWheel}>
317+
<div class={tabCls.value} ref={wrapperRef}>
304318
<ResizeObserver onResize={handleResize}>
305319
<div ref={listRef} class={listCls.value} style={listStyle.value}>
306320
{props.tabs.map((tab, index) => (

0 commit comments

Comments
 (0)