当前位置: 首页 > 知识库问答 >
问题:

element-ui - elementui中的table表格,没有自动100%宽度?

邢飞白
2024-06-26

页面分为 tab1、tab2 两个页签,tab2下面有el-table 组件,tab1、tab2 对应的div都采用 v-show 显示隐藏,

el-table组件,所有的列都采用 "min-width": "2" 设置宽度,当切换到 tab2 时,表格宽度一开始很窄,过一会儿才撑开到 100% 的宽度,有人遇到过吗?

共有2个答案

丌官丰羽
2024-06-26

给不同table添加不同的key试试

公羊信厚
2024-06-26

在 Element UI 的 el-table 组件中,如果你发现表格的宽度没有立即设置为 100%,这可能是由于 CSS 样式或者 Vue 的渲染机制导致的。以下是一些可能的解决方案:

  1. 使用 v-if 代替 v-show
    由于 v-show 只是简单地切换元素的 CSS display 属性,它不会触发组件的重新渲染。而 v-if 会真正地销毁和重建元素。在某些情况下,使用 v-if 可能有助于解决渲染问题。
  2. 使用 resize 事件
    你可以在切换 tab 后,监听窗口的 resize 事件,并手动设置 el-table 的宽度。但是,由于 resize 事件可能会频繁触发,你需要确保你的处理函数是高效的。
  3. CSS 样式
    确保 el-table 的父元素有明确的宽度设置,并且 el-table 本身没有设置具体的宽度,这样它就可以继承父元素的宽度。同时,检查是否有其他 CSS 规则影响了 el-table 的宽度。
  4. 使用 mountedwatch
    在 Vue 组件的 mounted 钩子或者使用 watch 监听数据变化时,确保表格的 DOM 已经正确渲染,然后可以手动设置表格的宽度。
  5. 计算属性或方法
    如果你想要基于列的数量或其他因素动态计算表格的宽度,可以使用计算属性或方法来设置 el-table 的样式。
  6. Element UI 的样式覆盖
    如果以上方法都不奏效,你可能需要覆盖 Element UI 的默认样式。你可以通过添加自定义的 CSS 规则来强制设置 el-table 的宽度。

以下是一个简单的示例,展示了如何在 Vue 组件中使用 mounted 钩子来设置 el-table 的宽度:

<template>  <div>    <!-- ... 其他代码 ... -->    <el-table ref="myTable" :data="tableData" style="width: 100%">      <!-- ... 表格列 ... -->    </el-table>  </div></template><script>export default {  data() {    return {      tableData: [], // 表格数据    };  },  mounted() {    // 确保 DOM 已经渲染完成    this.$nextTick(() => {      // 你可以在这里添加代码来设置表格的宽度,但通常如果父元素有 100% 宽度,el-table 也会自动填充      // 如果需要,你可以通过 this.$refs.myTable 来访问表格的 DOM 元素,并设置其样式    });  },  // ... 其他选项 ...};</script>

注意:在这个示例中,我并没有实际设置 el-table 的宽度,因为通常情况下,如果父元素有 100% 的宽度,并且 el-table 没有设置具体的宽度,它会自动填充其父元素的宽度。如果你确实需要手动设置宽度,可以通过 this.$refs.myTable.$el.style.width 来访问和设置 DOM 元素的宽度。

 类似资料:
  • 本文向大家介绍vue element-ui table表格滚动加载方法,包括了vue element-ui table表格滚动加载方法的使用技巧和注意事项,需要的朋友参考一下 添加全局注册事件,用来监听滚动事件 sign 用于标记位置 直接让scrollDistance === sign 并不能保证每次都会触发,所以用区间表示。后续会处理频繁触发问题。 添加事件 给需要无线加载的表格添加自定义事件

  • 本文向大家介绍使用Element UI表格如何设置列宽的宽度自适应?相关面试题,主要包含被问及使用Element UI表格如何设置列宽的宽度自适应?时的应答技巧和注意事项,需要的朋友参考一下 https://kuaizi-co.github.io/kz-table/ 列宽自适应

  • 需要用到elementui的表格,但是表格是树形的,想要做成和 tree 一样,显示链接线。本来想用 tree 组件实现的,但是需要像表格一样有很多列,tree 不好控制宽度。

  • 问题内容: 如何设置100%的宽度并仅在垂直滚动条中放置一些高度? 我希望避免增加一些额外的div,我要的是简单的表像这样,当我试图改变显示table-layout,position和CSS表更事情不是100%的宽度仅与PX固定宽度的工作好。 问题答案: 为了使元素可滚动,我们需要更改其在页面上的显示方式,即用于将其显示为块级元素。 由于我们更改了的属性,因此我们也应该更改 element的属性,

  • 大家有用到 element ui plus table 表格展示下面的表格内容 单独画感觉有点难度 表具1 表具2 最多新增到表具6 有人做过吗?求解决 用过其它办法没有解决掉,求大神解决 谢谢

  • 我目前正在为一家公司做一个移动登陆页面。这是一个真正基本的布局,但在标题下方有一个产品的图像,它将永远是100%的宽度(设计显示它总是从边到边)。根据屏幕的宽度,图像的高度显然会相应地调整。我最初用一个img(CSS宽度为100%),它工作得很好,但我意识到我希望使用媒体查询来为基于不同分辨率的不同图像提供服务-例如,同一图像的小、中、大版本。我知道你不能用CSS改变img src,所以我想我应该

  • 如果所示,想实现最后一列实现商品总计展示,写了一个计算属性想通过show-summary、@summary-method方法来实现展示,还想实现合计后面的列合并成一列展示(想的是操作样式来隐藏右边框,但是没实现!!!) 贴上我的代码: 最后想实现的效果图: