Skip to content

Commit 5d9afb7

Browse files
committed
fix: layout sidebar collapsed, close #5373
1 parent cec9414 commit 5d9afb7

File tree

1 file changed

+24
-27
lines changed

1 file changed

+24
-27
lines changed

components/layout/Sider.tsx

+24-27
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
import classNames from '../_util/classNames';
22
import type { PropType, ExtractPropTypes, CSSProperties } from 'vue';
3-
import {
4-
watchEffect,
5-
inject,
6-
defineComponent,
7-
ref,
8-
watch,
9-
onMounted,
10-
onBeforeUnmount,
11-
provide,
12-
} from 'vue';
3+
import { inject, defineComponent, ref, watch, onMounted, onBeforeUnmount, provide } from 'vue';
134
import PropTypes from '../_util/vue-types';
145
import { tuple } from '../_util/type';
156
import initDefaultProps from '../_util/props-util/initDefaultProps';
@@ -123,25 +114,31 @@ export default defineComponent({
123114
siderHook && siderHook.addSider(uniqueId);
124115

125116
onMounted(() => {
126-
watchEffect(() => {
127-
try {
128-
mql?.removeEventListener('change', responsiveHandler);
129-
} catch (error) {
130-
mql?.removeListener(responsiveHandler);
131-
}
132-
if (typeof window !== 'undefined') {
133-
const { matchMedia } = window;
134-
if (matchMedia! && props.breakpoint && props.breakpoint in dimensionMaxMap) {
135-
mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);
136-
try {
137-
mql.addEventListener('change', responsiveHandler);
138-
} catch (error) {
139-
mql.addListener(responsiveHandler);
117+
watch(
118+
() => props.breakpoint,
119+
() => {
120+
try {
121+
mql?.removeEventListener('change', responsiveHandler);
122+
} catch (error) {
123+
mql?.removeListener(responsiveHandler);
124+
}
125+
if (typeof window !== 'undefined') {
126+
const { matchMedia } = window;
127+
if (matchMedia! && props.breakpoint && props.breakpoint in dimensionMaxMap) {
128+
mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);
129+
try {
130+
mql.addEventListener('change', responsiveHandler);
131+
} catch (error) {
132+
mql.addListener(responsiveHandler);
133+
}
134+
responsiveHandler(mql);
140135
}
141-
responsiveHandler(mql);
142136
}
143-
}
144-
});
137+
},
138+
{
139+
immediate: true,
140+
},
141+
);
145142
});
146143
onBeforeUnmount(() => {
147144
try {

0 commit comments

Comments
 (0)