el-table添加固定高度height后高度自适应

这篇具有很好参考价值的文章主要介绍了el-table添加固定高度height后高度自适应。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0 效果

el-table添加固定高度height后高度自适应,vue.js,elementui,javascript

1 添加自定义指令

新建目录src/directive/el-table
在el-table目录下新建文件adaptive.js

import { addResizeListener, removeResizeListener } from 'element-ui/src/utils/resize-event'
 
 // 设置表格高度
 const doResize = async(el, binding, vnode) => {
 // 获取表格Dom对象
 const { componentInstance: $table } = await vnode
 // 获取调用传递过来的数据 
 const { value } = binding
 
 if (!$table.height) {
  throw new Error(`el-$table must set the height. Such as height='100px'`)
 }
 // 获取距底部距离(用于展示页码等信息)
 const bottomOffset = (value && value.bottomOffset) || 90
 
 if (!$table) return
 
 // 计算列表高度并设置
 const height = window.innerHeight - el.getBoundingClientRect().top - bottomOffset
 $table.layout.setHeight(height)
 $table.doLayout()
}
 
export default {  
  // 初始化设置
  bind(el, binding, vnode) { 
    // 设置resize监听方法
    el.resizeListener = async() => { 
      await doResize(el, binding, vnode)
    }    
    // 绑定监听方法到addResizeListener
    addResizeListener(window.document.body, el.resizeListener)  
  },  
  // 绑定默认高度
  async inserted(el, binding, vnode) { 
    await doResize(el, binding, vnode)  
  },  
  // 销毁时设置
  unbind(el) { 
    // 移除resize监听
    removeResizeListener(el, el.resizeListener)  
  }
}

在el-table目录下新建index.js

import adaptive from './adaptive'
 
const install = function(Vue) {   
  // 绑定v-adaptive指令
  Vue.directive('adaptive', adaptive)
}
 
if (window.Vue) {
  window['adaptive'] = adaptive  
  // eslint-disable-next-line no-undef 
  Vue.use(install)
}
 
adaptive.install = install
 
export default adaptive

2 引入

2.1 单个vue文件引入

在所需使用的vue页面中引入
import adaptive from ‘…/…/…/src/directive/el-table’
el-table添加固定高度height后高度自适应,vue.js,elementui,javascript

2.2 全局引入

在main.js中引入
el-table添加固定高度height后高度自适应,vue.js,elementui,javascript

3 使用

在el-table标签中添加属性
v-adaptive:自定义指令,bottomOffset 代表距离底部的距离
height:高度属性,100无具体意义,仅为初始值,不可省略
el-table添加固定高度height后高度自适应,vue.js,elementui,javascript文章来源地址https://www.toymoban.com/news/detail-714628.html

到了这里,关于el-table添加固定高度height后高度自适应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue】【ElementUI】关于el-table的自适应行高设定

    网上好多设置el-table高度和行高的方法,主要是用elementui文档里这几个参数: 我直接用css设置了el-table的高度,主要是为了自适应,百分比根本不管用,所以用vh单位: 行高之前用了 cell-style ,有一个问题是它只能用px单位,设置了之后改分辨率或者换浏览器大小就不一致了,

    2024年02月15日
    浏览(64)
  • el-table(vue2中)滚动条被固定列盖住

      vue2 + el-table         1、现场图片:                          2、全局css环境配置了滚动条高度为 6px         3、el-table设置滚动条为 15px (比全局高9px) el-table固定列(是根据全局滚动条高度计算,导致覆盖掉滚动条9px,只显示6px) 改变el-table固定列的计算

    2024年02月07日
    浏览(40)
  • vue2+elementui的el-table固定列会遮住横向滚动条以及错位

    我是最右侧固定列,所以下面的class名称是 .el-table__fixed-right , 如果有左侧固定请自行替换为 el-table__fixed 防止固定列表格高度错位 如果还没有解决错位, 请看你的 el-table__body-wrapper 是不是自己写了 max-height 的样式属性, 这会影响固定列定位的 解决固定列错位后, 接下来就是

    2024年02月02日
    浏览(46)
  • 【vue】el-table实现动态添加行和列

    实现思路: 最近遇到一个动态增加行和列的需求,本来拿到需求的时候想用el-table中自带的方法去实现的,但是经过尝试发现不能满足想要实现的需求。没办法只能在el-table的基础上自己写原生。 大概思路如下: 1.首先把table中需要动态增加的行和列分开,分别定义一个数组

    2024年02月11日
    浏览(45)
  • Vue修改element-admin UI <el-table> tr 表-子项的高度 及背景颜色

    先看效果图-表头背景颜色高度  自定义 样式代码 -----别想着加  !important    我也试了不行 如果style 用了  :style lang=\\\"scss\\\" /* 注意此处不能有scoped 否则样式无法生效 */           那么去掉 ::v-deep 即可正常使用

    2024年02月15日
    浏览(49)
  • 【Vue3+element plus 】el-table滚动条、固定列fixed、表头超出内容隐藏并显示省略号

            element plus中el-table采用的是el-scrollbar,无法采用全局默认滚动条样式修改,需要单独写公共样式。 原生滚动条样式 el-table滚动条样式 效果图:         el-table设置了自定义样式后,为el-table-column添加fixed=\\\"right\\\"属性,此时表格侧边栏固定列出现样式错乱,自定义

    2024年02月12日
    浏览(53)
  • vue el-table的每行操作el-button添加单独的loading效果实现

    实现就这么简单,一目了然。 你的压力来源于无法自律,只是假装努力,现状跟不上内心的欲望,所以你焦虑又恐惧。

    2024年02月13日
    浏览(55)
  • vue采用el-table 添加行手动填写数据和删除行及提交

            需求:点击新增按钮实现下列弹窗的效果,点击添加行新增一行,点击删除进行删除行,点击提交将数据传递到后端进行保存。 目录 代码 data methods 实现效果 代码 data methods

    2024年02月11日
    浏览(39)
  • 【前端】vue采用el-table 添加行手动填写数据和删除行及提交

            需求:点击新增按钮实现下列弹窗的效果,点击添加行新增一行,点击删除进行删除行,点击提交将数据传递到后端进行保存。 目录 代码 data methods 实现效果 代码 data methods

    2024年02月06日
    浏览(55)
  • el-table 固定列错位的问题

    问题描述 给el-table表个的操作列设置了固定,即fixed:right,出现了操作列高度与其他列高度不统一 ,导致行错位的情况,如下图: 并且即便重新渲染表格,也无法解决该问题 问题分析 1.将出操作列以外的其他列的代码都注释,会看到表格变成下图: 可以看到左侧一列没有

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包