el-table中动态加载数据表头错位问题

问题分析

1.控制台进行元素查看是由于表格中数据撑开导致table-body中的td过宽
                  2.可以看到首行的名称是有换行的效果,标识码没有换行,应该可以确定是标识码的
                    数据问题

方案测试

方案尝试1:.给行固定宽度让标识码能完全显示出来

const columnData = ref<any>([
    {
      label: '序号',
      type: 'sort'
    },
    {
      label: '名称',
      prop: 'name'
    },
    {
      label: '标识码',
      prop: 'code',
      width: '240px'
    },])

解决效果:能够达到表头不错位的效果,但是由于一般用于公共组件,你无法确定下一组输入的表头和数据,是否也是这种标识码的情况不可能完全定义所有的列宽,所以排除。

方案尝试2:查找返回的数据类型,看和名称有什么区别

可以看到返回结果code都是sting,但是我查阅资料发现code在表格中被定义为单词,所以需要进行样式调整 

.el-table .cell {
  word-break: break-all; /* 允许单词断行 */
}
解决方案及结论

当el-table作为公共组件进行使用是,如果发现由于table-body数据过长导致表头错位的,检查数据是否为单词,需要进行单独的换行设置

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐