fix: layout sidebar collapsed, close #5373
parent
cec9414d5c
commit
5d9afb7d1c
|
@ -1,15 +1,6 @@
|
||||||
import classNames from '../_util/classNames';
|
import classNames from '../_util/classNames';
|
||||||
import type { PropType, ExtractPropTypes, CSSProperties } from 'vue';
|
import type { PropType, ExtractPropTypes, CSSProperties } from 'vue';
|
||||||
import {
|
import { inject, defineComponent, ref, watch, onMounted, onBeforeUnmount, provide } from 'vue';
|
||||||
watchEffect,
|
|
||||||
inject,
|
|
||||||
defineComponent,
|
|
||||||
ref,
|
|
||||||
watch,
|
|
||||||
onMounted,
|
|
||||||
onBeforeUnmount,
|
|
||||||
provide,
|
|
||||||
} from 'vue';
|
|
||||||
import PropTypes from '../_util/vue-types';
|
import PropTypes from '../_util/vue-types';
|
||||||
import { tuple } from '../_util/type';
|
import { tuple } from '../_util/type';
|
||||||
import initDefaultProps from '../_util/props-util/initDefaultProps';
|
import initDefaultProps from '../_util/props-util/initDefaultProps';
|
||||||
|
@ -123,25 +114,31 @@ export default defineComponent({
|
||||||
siderHook && siderHook.addSider(uniqueId);
|
siderHook && siderHook.addSider(uniqueId);
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
watchEffect(() => {
|
watch(
|
||||||
try {
|
() => props.breakpoint,
|
||||||
mql?.removeEventListener('change', responsiveHandler);
|
() => {
|
||||||
} catch (error) {
|
try {
|
||||||
mql?.removeListener(responsiveHandler);
|
mql?.removeEventListener('change', responsiveHandler);
|
||||||
}
|
} catch (error) {
|
||||||
if (typeof window !== 'undefined') {
|
mql?.removeListener(responsiveHandler);
|
||||||
const { matchMedia } = window;
|
|
||||||
if (matchMedia! && props.breakpoint && props.breakpoint in dimensionMaxMap) {
|
|
||||||
mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);
|
|
||||||
try {
|
|
||||||
mql.addEventListener('change', responsiveHandler);
|
|
||||||
} catch (error) {
|
|
||||||
mql.addListener(responsiveHandler);
|
|
||||||
}
|
|
||||||
responsiveHandler(mql);
|
|
||||||
}
|
}
|
||||||
}
|
if (typeof window !== 'undefined') {
|
||||||
});
|
const { matchMedia } = window;
|
||||||
|
if (matchMedia! && props.breakpoint && props.breakpoint in dimensionMaxMap) {
|
||||||
|
mql = matchMedia(`(max-width: ${dimensionMaxMap[props.breakpoint]})`);
|
||||||
|
try {
|
||||||
|
mql.addEventListener('change', responsiveHandler);
|
||||||
|
} catch (error) {
|
||||||
|
mql.addListener(responsiveHandler);
|
||||||
|
}
|
||||||
|
responsiveHandler(mql);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
|
);
|
||||||
});
|
});
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue