el-table中的label换行问题(重点white-space)
依赖CSS的方法
1.label中增加 \n
<el-table-column prop="name" :label="'姓名\nname'" min-width="100"></el-table-column>
2.设置white-space样式
.el-table .cell {
white-space: pre-line;
}
3.效果图
绑定render-header处理写死字符串
1.label中增加空格,绑定render-header方法
<el-table-column :render-header="renderHeader" prop="capacity" label="库容 (亿m³)" min-width="90" align="center" />
2.renderHeader方法
renderHeader(h, {column}) {
let header = column.label.split(' ');
return [h('p', [
h('p', {}, header[0]),
h('span', {}, header[1])
])];
}
p标签有外边距样式需要取消
el.table.column .cell .p
{
pardding:0px;
}
3.效果图:
绑定render-header处理变量字符串
<el-table-column prop="capacity" :label="handleLabel(sotreUnit)" min-width="90" align="center" />
2.handleLabel方法,sotreUnit的换行符被识别为字符串了,:label不支持InnerHtml的方式赋值。手动转换"\\n”为“\n"
data(){
return {
sotreUnit: "库容\n(亿m³)",
}
}
computed: {
handleLabel(){
return (val, replaceValue) => {
if(replaceValue != null && replaceValue == ""){
return val.replaceAll("\\n", replaceValue);
} else {
//return val.replaceAll(/\\n/gm, "\n");
return val.replaceAll("\\n", "\n");
}
}
}
}
p标签有外边距样式需要取消
el.table.column .cell .p
{
pardding:0px;
}