在Element UI中,el-table 组件的表头宽度自适应通常可以通过以下几种方式实现: 1. 使用 fit 属性 Element UI 的 el-table 组件提供了一个 fit 属性,当设置为 true 时,列的宽度会自动根据内容进行调整,从而实现表头宽度的自适应。不过需要注意的是,这种方式可能会受到内容长度和表格容器宽度的影响。 html <...
场景:直接根据表格内容,动态设置宽度,适用于不同权限,内容减少 代码如下 <el-table-column label="操作"class-name="handle-column" :width="autoWidth"align="left" fixed="right"> </el-table-column> 获取列表数据的时候,自适应调整宽度 getTableList(data) {this.tableList =data;this.$nextTick(() =>...
<el-table-column prop="address" label="Address" :width="getColumnWidth('address', tableData)"/> </el-table> 三、全局注入 以vue3 + ts 为例 在utils文件夹下新建 el_table.ts ,内容如下: /** * 表格列宽自适应 * @param prop 属性 * @param records 数据 * @param minWidth 最小宽度 *...
由于表头和列是分开渲染的,通过el-table 设置fit属性,只能撑开表头,但是没有办法根据列的内容去适应宽度。网上找了一些使用根据表格内容计算表头宽度的文章,记个笔记。 代码逻辑是通过vue 的watch 监控表格的数据data,计算每列的内容和表头的最大宽度,计算的时候把表格内容使用span标签包裹,然后计算span标签的宽度width...
el-table表头列宽自适应最优解(非文本也可以) max_jianshu关注赞赏支持el-table表头列宽自适应最优解(非文本也可以) max_jianshu关注IP属地: 广东 0.1252024.05.18 14:35:36字数2阅读1,046 template <el-table-column v-for="(col, index) in columns" :label="col.name" :min-width="getStringWidth(...
el-table表头根据内容⾃适应完美解决表头错位和固定列 错位 将代码复制到指令中即可使⽤。通过指令⽅式进⾏调⽤。(使⽤⽅式 <el-table v-tableFit></el-table>)通过计算⽂字的宽度进⾏表头设置,其他内容⽆法计算。5000个单元格以上根据实际情况使⽤以上根据实际情况使⽤,因为单元格越多,...
将代码复制到指令中即可使用。通过指令方式进行调用。(使用方式 <el-table v-tableFit></el-table>) 通过计算文字的宽度进行表头设置,其他内容无法计算。 5000个单元格以上根据实际情况使用以上根据实际情况使用,因为单元格越多,计算时间越长。 尽量使用v-if,不然有些情况下会计算错误。
我采用了另一种思路,还是动态计算内容宽度,但是根据实际渲染后的 DOM 元素宽度,这样就能解决上面三个问题。 具体怎么做呢?通过查看渲染后的 DOM 元素发现,el-table的表头和内容分别用了一个原生table,通过colgroup设置每列的宽度。就从这里入手,col的name属性值和对应的td的class值是一致的,这样就可以遍历对应列的...
我们把表格插入到自适应区域,并将设置自适应区域为相对定位,表格容器设置为绝对定位: <div class="table-container flex-a" ref="container"> <div class="table-container-inner"> <el-table :data="tableData" :height="tableHeight" border> </el-table> ...
将代码复制到指令中即可使用。通过指令方式进行调用。(使用方式 <el-table v-tableFit></el-table>) 通过计算文字的宽度进行表头设置,其他内容无法计算。 5000个单元格以上根据实际情况使用以上根据实际情况使用,因为单元格越多,计算时间越长。 尽量使用v-if,不然有些情况下会计算错误。