Element UI 弹窗(Dialog)改成自适应高度,仅body内容部分滚动

定义样式如下: 

.abow_dialog {
    display: flex;
    justify-content: center;
    align-items: Center;
    overflow: hidden;
    .el-dialog {
        margin: 0 auto !important;
        height: 90%;
        overflow: hidden;
        .el-dialog__body {
            position: absolute;
            left: 0;
            top: 54px;
            bottom: 0;
            right: 0;
            padding: 0;
            z-index: 1;
            overflow: hidden;
            overflow-y: auto;
        }
    }
}

在el-dialog标签中设置class="abow_dialog"即可

弹窗为页面高度的90%,且上下居中。

el-dialog__body内容部分会根据内容的高度,自动显示上下的滚动条。

结合《directive全局定义侦听window.resize,局部绑定侦听宽高的变化》可实现如下图效果:

Element UI 弹窗(Dialog)改成自适应高度,仅body内容部分滚动