问题:
使用 Element el-table
组件时,给列 el-table-column
设置百分比%
宽度无效( width="30%"
)
解决:
Vue中要将 el-table-column
的宽度设置成百分比的话,不能通过设置 width
来实现,而是要设置 min-width
,并且每一列都必须设置 min-width
。
原因:
el-table
组件会被 vue 解析成 html
,Vue直接把百分号去掉把数值当做列宽来呈现,所以,width
设置百分比的值直接被解析去掉百分号%
变成 px
了。
需要注意的是:width
,min-width
的原理都是将值百分比去掉变成 px
。可是 min-width
会按照比例分配剩余空间,并非直接算的百分比。(因此要每一列都设置 min-width
才能实现每一列的百分比配置)设置成 min-width
以后,width
的值就被计算成 (当前值 / 全部列值和)的百分比了。文章来源:https://www.toymoban.com/news/detail-401362.html
这里我倒觉得设计的挺好的,在 html 中使用 width
设置百分比的时候总要关心其总和需要是 100%,维护起来也比较麻烦,而这种设置百分比并不需要其总和为100%,我觉得这是一项改进。文章来源地址https://www.toymoban.com/news/detail-401362.html
示例:
<el-table v-loading="loading" :data="tableData">
<el-table-column prop="id" label="ID" min-width="6%"></el-table-column>
<el-table-column prop="name" label="姓名" min-width="12%"></el-table-column>
<el-table-column prop="create_time" label="创建时间" min-width="24%"></el-table-column>
<el-table-column prop="update_time" label="更新时间" min-width="24%"></el-table-column>
</el-table>
到了这里,关于Element UI 使用 table 组件设置 el-table-column 宽度width为百分比无效的问题解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!