您的位置:首页 > 游戏 > 手游 > 株洲网站建设报价方案_免费cms系统php_百度seo咋做_备案查询站长工具

株洲网站建设报价方案_免费cms系统php_百度seo咋做_备案查询站长工具

2024/12/25 12:43:19 来源:https://blog.csdn.net/qq_42812154/article/details/144511684  浏览:    关键词:株洲网站建设报价方案_免费cms系统php_百度seo咋做_备案查询站长工具
株洲网站建设报价方案_免费cms系统php_百度seo咋做_备案查询站长工具

弹窗里要放一个table表格,表格高度跟随弹窗高度的变化而变化。

代码如下:

<template><el-dialog ref="lookDialogRef" v-model="dialogLook.visible" :title="dialogLook.title" width="1000px" append-to-body @close="closeDialog" @open="openDialog"><el-table :data="tableData" :height="dialogHeight"><el-table-column v-if="true" label="编号" align="center" prop="code" /><el-table-column v-if="true" label="姓名" align="center" prop="name" /><el-table-column v-if="true" label="年龄" align="center" prop="age" /></el-table></el-dialog>
</template><script setup lang="ts">
const dialogHeight = ref('200px')
const lookDialogRef = ref(null)
const lookDialog = () => {console.log(lookDialogRef.value.$el.querySelector('.el-dialog__body'))
}
onMounted(() => {window.onresize = () => {dialogLook.visible && lookDialog()}
})
</script>

报错如下:
在这里插入图片描述
原因:写法有问题。

//少写了一个dialogContentRef
console.log(lookDialogRef.value.dialogContentRef.$el.querySelector('.el-dialog__body'))

知识点:
‌ElementPlus中的dialogContentRef是一个引用(ref),用于获取`el-dialog组件内部的具体DOM元素,特别是对话框的内容区域。‌

在ElementPlus中,el-dialog组件提供了dialogContentRef属性,通过这个属性可以获取到对话框内容的DOM元素。这在进行一些自定义操作时非常有用,比如动态设置对话框内容的高度、宽度或者进行其他DOM操作。

最终代码:(获取元素可视高度)

<template><el-dialog ref="lookDialogRef" v-model="dialogLook.visible" :title="dialogLook.title" width="1000px" append-to-body @close="closeDialog" @open="openDialog"><el-table :data="tableData" :height="tableHeight"><el-table-column v-if="true" label="编号" align="center" prop="code" /><el-table-column v-if="true" label="姓名" align="center" prop="name" /><el-table-column v-if="true" label="年龄" align="center" prop="age" /></el-table></el-dialog>
</template><script setup lang="ts">
const tableHeight = ref('200px')
const lookDialogRef = ref(null)
const openDialog = () => {nextTick(() => {let h = lookDialogRef.value.dialogContentRef.$el.querySelector('.el-dialog__body').clientHeight - 130tableHeight.value = h + 'px'})
}
onMounted(() => {window.onresize = () => {dialogLook.visible && openDialog()}
})
</script>

注:

// 获取实际高度(包括padding和border)
const actualHeight = element.offsetHeight;// 获取可视高度(不包括滚动条)
const visualHeight = element.clientHeight;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com