diff --git a/smart-admin-web-javascript/src/views/business/erp/goods/goods-list.vue b/smart-admin-web-javascript/src/views/business/erp/goods/goods-list.vue index c4be7333..429a8dfe 100644 --- a/smart-admin-web-javascript/src/views/business/erp/goods/goods-list.vue +++ b/smart-admin-web-javascript/src/views/business/erp/goods/goods-list.vue @@ -495,32 +495,40 @@ function camelToUnderscore(str) { return str.replace(/([A-Z])/g, '_$1').toLowerCase(); } - + // 动态设置表格高度 const yHeight = ref(0); - onMounted(() => { - resetGetHeight(); - }); + function resetGetHeight() { - // 搜索部分高度 - let doc = document.querySelector('.ant-form'); - // 按钮部分高度 - let btn = document.querySelector('.smart-table-btn-block'); - // 表格头高度 - let tableCell = document.querySelector('.ant-table-cell'); - // 分页高度 - let page = document.querySelector('.smart-query-table-page'); - // 内容区总高度 - let box = document.querySelector('.admin-content'); - setTimeout(() => { + // 搜索部分高度 + let doc = document.querySelector('.ant-form'); + // 按钮部分高度 + let btn = document.querySelector('.smart-table-btn-block'); + // 表格头高度 + let tableCell = document.querySelector('.ant-table-cell'); + // 分页高度 + let page = document.querySelector('.smart-query-table-page'); + // 内容区总高度 + let box = document.querySelector('.admin-content'); + setTimeout(() => { let dueHeight = doc.offsetHeight + 10 + 24 + btn.offsetHeight + 15 + tableCell.offsetHeight + page.offsetHeight + 20; yHeight.value = box.offsetHeight - dueHeight; }, 100); } - window.addEventListener( - 'resize', - _.throttle(() => { - resetGetHeight(); - }, 1000) - ); + + // 定义一个变量来存储节流后的回调函数 + let throttledResizeHandler; + onMounted(() => { + resetGetHeight(); + throttledResizeHandler = _.throttle(() => { + resetGetHeight(); + }, 1000); + + window.addEventListener('resize', throttledResizeHandler); + }); + + // 在组件销毁时移除 resize 事件监听器 + onUnmounted(() => { + window.removeEventListener('resize', throttledResizeHandler); + });