mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-07 08:57:19 +08:00
perf: 当浏览器窗口的可视区域小于或等于1280
时隐藏页宽
This commit is contained in:
parent
97f167825d
commit
51ef3647fc
@ -387,7 +387,7 @@ onUnmounted(() => removeMatchMedia);
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<span v-if="device !== 'mobile'">
|
<span v-if="useAppStoreHook().getViewportWidth > 1280">
|
||||||
<p :class="['mt-5', pClass]">页宽</p>
|
<p :class="['mt-5', pClass]">页宽</p>
|
||||||
<Segmented
|
<Segmented
|
||||||
class="mb-2 select-none"
|
class="mb-2 select-none"
|
||||||
|
@ -89,7 +89,8 @@ let isAutoCloseSidebar = true;
|
|||||||
useResizeObserver(appWrapperRef, entries => {
|
useResizeObserver(appWrapperRef, entries => {
|
||||||
if (isMobile) return;
|
if (isMobile) return;
|
||||||
const entry = entries[0];
|
const entry = entries[0];
|
||||||
const [{ inlineSize: width }] = entry.borderBoxSize;
|
const [{ inlineSize: width, blockSize: height }] = entry.borderBoxSize;
|
||||||
|
useAppStoreHook().setViewportSize({ width, height });
|
||||||
width <= 760 ? setTheme("vertical") : setTheme(useAppStoreHook().layout);
|
width <= 760 ? setTheme("vertical") : setTheme(useAppStoreHook().layout);
|
||||||
/** width app-wrapper类容器宽度
|
/** width app-wrapper类容器宽度
|
||||||
* 0 < width <= 760 隐藏侧边栏
|
* 0 < width <= 760 隐藏侧边栏
|
||||||
|
@ -21,6 +21,11 @@ export const useAppStore = defineStore({
|
|||||||
`${responsiveStorageNameSpace()}layout`
|
`${responsiveStorageNameSpace()}layout`
|
||||||
)?.layout ?? getConfig().Layout,
|
)?.layout ?? getConfig().Layout,
|
||||||
device: deviceDetection() ? "mobile" : "desktop",
|
device: deviceDetection() ? "mobile" : "desktop",
|
||||||
|
// 浏览器窗口的可视区域大小
|
||||||
|
viewportSize: {
|
||||||
|
width: document.documentElement.clientWidth,
|
||||||
|
height: document.documentElement.clientHeight
|
||||||
|
},
|
||||||
// 作用于 src/views/components/draggable/index.vue 页面,当离开页面并不会销毁 new Swap(),sortablejs 官网也没有提供任何销毁的 api
|
// 作用于 src/views/components/draggable/index.vue 页面,当离开页面并不会销毁 new Swap(),sortablejs 官网也没有提供任何销毁的 api
|
||||||
sortSwap: false
|
sortSwap: false
|
||||||
}),
|
}),
|
||||||
@ -30,6 +35,12 @@ export const useAppStore = defineStore({
|
|||||||
},
|
},
|
||||||
getDevice(state) {
|
getDevice(state) {
|
||||||
return state.device;
|
return state.device;
|
||||||
|
},
|
||||||
|
getViewportWidth(state) {
|
||||||
|
return state.viewportSize.width;
|
||||||
|
},
|
||||||
|
getViewportHeight(state) {
|
||||||
|
return state.viewportSize.height;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
@ -62,6 +73,9 @@ export const useAppStore = defineStore({
|
|||||||
setLayout(layout) {
|
setLayout(layout) {
|
||||||
this.layout = layout;
|
this.layout = layout;
|
||||||
},
|
},
|
||||||
|
setViewportSize(size) {
|
||||||
|
this.viewportSize = size;
|
||||||
|
},
|
||||||
setSortSwap(val) {
|
setSortSwap(val) {
|
||||||
this.sortSwap = val;
|
this.sortSwap = val;
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ export type appType = {
|
|||||||
};
|
};
|
||||||
layout: string;
|
layout: string;
|
||||||
device: string;
|
device: string;
|
||||||
|
viewportSize: { width: number; height: number };
|
||||||
sortSwap: boolean;
|
sortSwap: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user