html:
<el-table-column
width="160px"
label="服务费收入(流量主)"
prop="serviceCharge"
:render-header="renderHeader"
></el-table-column>
<el-table-column
label="货款"
prop="payment"
:render-header="renderHeader"
></el-table-column>
js: (代码略多,是因为需要实现换行来使得格式好看,所以代码长是长在serviceContent的内容)
methods: {
renderHeader(h, { column }) {
const serviceContent= [
h(
"div",
{
slot: "content",
style: "margin-bottom:5px"
},
"服务费收入(流量主)计算公式:"
),
h(
"div",
{
slot: "content"
},
"1、分成数值百分比:"
),
h(
"div",
{
slot: "content"
},
"商家结算服务费百分比 = 券后价 * 销量 * 服务费比例(商家)"
),
h(
"div",
{
slot: "content"
},
"商家结算服务费固定值 = 销量 * 服务费固定值(商家)"
),
h(
"div",
{
slot: "content",
style: "margin-bottom:5px"
},
"服务费收入(流量主) = 商家结算服务费 * 分成数值百分比"
),
h(
"div",
{
slot: "content"
},
"2、分成数值固定值:"
),
h(
"div",
{
slot: "content"
},
"服务费收入(流量主) = 销量 * 分成数值固定值"
)
];
const paymentContent= h(
"div",
{
slot: "content"
},
"货款 = 券后价 * 销量"
);
return h("div", [
h("span", column.label),
h(
"el-tooltip",
{
props: {
placement: "bottom"
}
},
[
column.label != "货款" ? serviceContent: paymentContent,
h("i", {
class: "el-icon-warning-outline",
style: "color:orange;margin-left:5px;"
})
]
)
]);
}
}
附: 如果提示框需要改宽度,可以直接在内容的style加,如果不生效,需要在html添加show-overflow-tooltip属性,例:
<el-table-column
width="160px"
label="服务费收入(流量主)"
prop="serviceCharge"
show-overflow-tooltip
:render-header="renderHeader"
></el-table-column>