Jamey's Jamey's
首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于

Jamey

首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于
  • 二次封装

  • 实践踩坑

    • Icon图标

    • Table表格

    • Checkbox多选框

    • Message消息提示

    • Dialog对话框

      • 高度固定方案
        • 一. 前言
        • 二. 解决方案
      • 拖拽,全屏,拉宽高等功能指令
    • Input输入框

    • Tree树形控件

  • 《Element-UI 实践系列》笔记
  • 实践踩坑
  • Dialog对话框
Jamey
2021-11-26
目录

高度固定方案

# 高度固定方案

# 一. 前言

Element UI组件提高了不少开发效率,使用 Dialog 对话框的时候发现,组件说明文档 (opens new window) 提供了 width 来设置 Dialog 的宽度,并没有给出如何固定高度。

对话框的高度会随着对话框中内容的多少而变化,如下所示:

element_16

内容太多时:

element_17

# 二. 解决方案

这样造成的体验很不好,所以,为了能够防止内容超出弹框,并且一直看到footer里的按钮,需要固定对话框的高度,我的解决办法是:

在对话框内容元素的外面加一个 div,然后设置 div 的高度,并且设置 overflow: auto,这样,内容超出时会出现滚动条,可以进行滑动,如下:

<el-dialog :visible.sync="roleResDialogVisible" title='提示' width="25%" center>
  <div class="sync-dialog__div">
    <el-tree show-checkbox default-expand-all check-strictly></el-tree>
  </div>
  
  <span slot="footer" class="dialog-footer">
    <el-button @click="roleResDialogVisible=false">
      {{ $t('sysManage.cancel') }}
    </el-button>
      
    <el-button type="primary" @click="roleResConfirm">
      {{ $t('sysManage.confirm') }}
    </el-button>
  </span>      
</el-dialog>

<style lang="scss" scoped>           
.sync-dialog__div {
  height: 300px;
  overflow: auto;
}
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

这样,不管内容多少,都可以防止内容超出弹框,并且一直看到footer里的按钮,如下:

element_18

内容过多时,会出现滚动条,也不会超出弹框,如下:

element_19

#Element
上次更新: 2022/07/08, 17:40:08
如何解决弹窗重复弹出
拖拽,全屏,拉宽高等功能指令

← 如何解决弹窗重复弹出 拖拽,全屏,拉宽高等功能指令→

Theme by Vdoing | Copyright © 2017-2023 Jamey | blog 闽ICP备19022664号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式