vue+elementUi自定义dialog对话框多个组件实例动态设置宽高getElementsByClassName
Posted web半晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+elementUi自定义dialog对话框多个组件实例动态设置宽高getElementsByClassName相关的知识,希望对你有一定的参考价值。
目录
1、html
<el-dialog
custom-class="schedule_task_diaog"
:show-close="false"
:center="true"
:visible.sync="dialogTableVisible"
:close-on-click-modal="false"
>
<div>内容... ...</div>
</el-dialog>
2、javascript
export default
data()
return
dialogTableVisible: false,
;
,
methods:
// 父组件通过ref触发子组件方法(函数)打开本弹窗
openPanel(obj)
// 控制弹窗的显示与隐藏
this.dialogTableVisible = true;
this.$nextTick(() =>
// 获取DOM
let dialogBox = document.getElementsByClassName("schedule_task_diaog"),
width, height, borderRadius, top = obj;
for (let i = 0; i < dialogBox.length; i++)
// 设置width
dialogBox[i].style.width = width || "360px";
// 设置height
dialogBox[i].style.height = height || "360px";
// 设置top
dialogBox[i].style.top = top || "152px";
// 设置border-radius
dialogBox[i].style.borderRadius = borderRadius || "10px";
);
,
,
;
3、css
// 重置dialog对话框
/deep/ .schedule_task_diaog
padding: 0 !important;
::v-deep .schedule_task_diaog .el-dialog__header
width: 100%;
padding: 0px !important;
/deep/ .schedule_task_diaog .el-dialog__body
width: 100%;
padding: 0 !important;
以上是关于vue+elementUi自定义dialog对话框多个组件实例动态设置宽高getElementsByClassName的主要内容,如果未能解决你的问题,请参考以下文章