element-ui table 给表头添加icon图标,以及鼠标滑过时显示提示内容

在这里插入图片描述

在这里插入图片描述
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>
发布了31 篇原创文章 · 获赞 5 · 访问量 760

猜你喜欢

转载自blog.csdn.net/weixin_45899022/article/details/104291057