fix: prev和next按钮不能准确隐藏

This commit is contained in:
devlemoe
2021-08-19 14:19:21 +08:00
parent 8c7dd14004
commit 1bf722bed0

View File

@@ -111,7 +111,7 @@
LeftOutlined, LeftOutlined,
RightOutlined, RightOutlined,
} from '@vicons/antd'; } from '@vicons/antd';
import { renderIcon } from '@/utils/index'; import { renderIcon } from '@/utils';
import elementResizeDetectorMaker from 'element-resize-detector'; import elementResizeDetectorMaker from 'element-resize-detector';
import { useDesignSetting } from '@/hooks/setting/useDesignSetting'; import { useDesignSetting } from '@/hooks/setting/useDesignSetting';
import { useProjectSettingStore } from '@/store/modules/projectSetting'; import { useProjectSettingStore } from '@/store/modules/projectSetting';
@@ -148,9 +148,6 @@
const state = reactive({ const state = reactive({
activeKey: route.fullPath, activeKey: route.fullPath,
scrollable: false, scrollable: false,
navStyle: {
transform: '',
},
dropdownX: 0, dropdownX: 0,
dropdownY: 0, dropdownY: 0,
showDropdown: false, showDropdown: false,
@@ -169,10 +166,7 @@
const currentRoute = useRoute(); const currentRoute = useRoute();
const navMode = unref(getNavMode); const navMode = unref(getNavMode);
if (unref(navMode) != 'horizontal-mix') return true; if (unref(navMode) != 'horizontal-mix') return true;
if (unref(navMode) === 'horizontal-mix' && mixMenu && currentRoute.meta.isRoot) { return !(unref(navMode) === 'horizontal-mix' && mixMenu && currentRoute.meta.isRoot);
return false;
}
return true;
}); });
//动态组装样式 菜单缩进 //动态组装样式 菜单缩进
@@ -195,7 +189,7 @@
//tags 右侧下拉菜单 //tags 右侧下拉菜单
const TabsMenuOptions = computed(() => { const TabsMenuOptions = computed(() => {
const isDisabled = unref(tabsList).length <= 1 ? true : false; const isDisabled = unref(tabsList).length <= 1;
return [ return [
{ {
label: '刷新当前', label: '刷新当前',
@@ -242,11 +236,11 @@
document.documentElement.scrollTop || document.documentElement.scrollTop ||
window.pageYOffset || window.pageYOffset ||
document.body.scrollTop; // 滚动条偏移量 document.body.scrollTop; // 滚动条偏移量
if (!getHeaderSetting.fixed && getMultiTabsSetting.fixed && scrollTop >= 64) { state.isMultiHeaderFixed = !!(
state.isMultiHeaderFixed = true; !getHeaderSetting.fixed &&
} else { getMultiTabsSetting.fixed &&
state.isMultiHeaderFixed = false; scrollTop >= 64
} );
} }
window.addEventListener('scroll', onScroll, true); window.addEventListener('scroll', onScroll, true);
@@ -278,9 +272,7 @@
if (whiteList.includes(route.name as string)) return; if (whiteList.includes(route.name as string)) return;
state.activeKey = to; state.activeKey = to;
tabsViewStore.addTabs(getSimpleRoute(route)); tabsViewStore.addTabs(getSimpleRoute(route));
nextTick().then(() => { updateNavScroll(true);
updateNavScroll(true);
});
}, },
{ immediate: true } { immediate: true }
); );
@@ -414,7 +406,8 @@
/** /**
* @param autoScroll 是否开启自动滚动功能 * @param autoScroll 是否开启自动滚动功能
*/ */
function updateNavScroll(autoScroll?: boolean) { async function updateNavScroll(autoScroll?: boolean) {
await nextTick();
if (!navScroll.value) return; if (!navScroll.value) return;
const containerWidth = navScroll.value.offsetWidth; const containerWidth = navScroll.value.offsetWidth;
const navWidth = navScroll.value.scrollWidth; const navWidth = navScroll.value.scrollWidth;
@@ -439,10 +432,6 @@
updateNavScroll(true); updateNavScroll(true);
} }
const getNavStyle = computed(() => {
return state.navStyle;
});
function handleContextMenu(e, item) { function handleContextMenu(e, item) {
e.preventDefault(); e.preventDefault();
isCurrent.value = PageEnum.BASE_HOME_REDIRECT === item.path; isCurrent.value = PageEnum.BASE_HOME_REDIRECT === item.path;
@@ -502,7 +491,6 @@
closeHandleSelect, closeHandleSelect,
scrollNext, scrollNext,
scrollPrev, scrollPrev,
getNavStyle,
handleContextMenu, handleContextMenu,
onClickOutside, onClickOutside,
getDarkTheme, getDarkTheme,