很多页面都需要用到表格组件el-table。如果没有给el-table-column指定宽度,默认情况下会平均分配给剩余的列。在列数比较多的情况,如果el-table宽度限定在容器内,单元格里的内容就会换行。强制不换行,内容要么在单元格内滚动,要么就会溢出或被截断。 产品想要的效果是:内容保持单行显示,列间距保持一致,表格超出容器允...
一、概述 在表格宽度固定时,实现内容不换行,表格自动显示滚动条 当前显示效果: 期望实现效果: 二、实现思路 遍历表格数组,每次都构建一个隐藏的span元素,获取该元素的宽度,对比保存最大值 代码如下: /** * 表格列宽自适应 * @param prop 属性 * @param records
el-table的el-table-column如果不指定width的话,会自动设定一个宽度,表格内容会自动换行,对强迫症用户来说非常不友好,为了追求完美用户体验,所以这里需要实现两个效果: 强制表格内容不换行显示 实现表格列宽自适应撑开 <template> <el-tableref="tableRef"v-loading="loading":data="tableData"border stripe :header...
在element-ui的官网例子中,有展开行的功能,但是只能点击某行的箭头位置,才可以展开当行的内容。这不能满足业务需求,我们老大需要点击该行的任何一个位置都能展开这行内容显示。上网找了好多例子,都能解决我的问题。还是要回到element-ui的开发文档。在Table 表格开发文档中发现, Table Attributes有两个属性:row-key...
由于表头和列是分开渲染的,通过el-table 设置fit属性,只能撑开表头,但是没有办法根据列的内容去适应宽度。网上找了一些使用根据表格内容计算表头宽度的文章,记个笔记。 代码逻辑是通过vue 的watch 监控表格的数据data,计算每列的内容和表头的最大宽度,计算的时候把表格内容使用span标签包裹,然后计算span标签的宽度width...
</el-table-column> </el-table> </template> 给需要自适应列宽的column写一个动态的width :width="flexColumnWidth(label,prop)" <script> export default { methods: { /** * 遍历列的所有内容,获取最宽一列的宽度 * @param arr / getMaxLength (arr) { ...
方法二、设置表格样式table-layout: 'auto',让表格自适应文本内容,但需要根据单元格的宽度调整表头的宽度。这个方法的几个问题待优化: 1、表格加载数据时,表头宽度变化会闪烁一下 2、而且对于fixed属性的单元格宽度计算有点问题 css样式 table.el-table__body{table-layout:auto;}.cell{white-space:nowrap;}.el...
给el-table 设置好了最大可宽度之后,内部的 <el-table-item> 就会按照各列的比例自动展开了。不需要控制,如果你单独给设置了 width 属性的话,就会按照你设置的宽度了。 有用 回复 邮差: 你可能没试过某个数据是很长那种情况吧比如16位数 字,或者10几个文字。不然我也不会提这个问题哈哈目前网上有af- tabl...
3.index.js内容 importonResizefrom"./onResize";export{onResize}; 4.组件中混入,并且设置。 5.el-table里面设置表格高度 这样就搞定了。 升级版优化之后的。OnResize.js 如下: lettimer=nullexportdefault{data(){return{bodyHeight:document.body.clientHeight,bodyWidth:document.body.clientWidth,tableHeight:0,/...
2、Table组件提供了一个height属性,当加上这个属性,表头就固定住了 但是这个高度是固定的,遇到分辨率不一样的屏幕就会效果不一样 因为高度是固定的,当遇到只有一条数据的会出现下面大量留白的情况 最终解决方案 1、当表格的body高于视图高度时 tableHeight = 获取视图的高度 - 可滑动的高度 - 视图内其他的高度 2...