element-ui table自定义表头的两种方式

两种方式:

1.采用render-header方法,在el-table-column 添加render-header属性,功能就表头为责任人的添加一个问好,鼠标hover显示一个提示。这种方给表头添加样式比较麻烦,里面的代码要自行组装。

 

<el-table-column

            prop="dutyName"

            label="责任人"

            :render-header="headercellclassname"

          >

 

 methods: {

headercellclassname(h, { column, $index }) {

      // 自定义表格label样式

      if (column.label !== "责任人") {

        return;

      }

      return h("div", [

        h("span", column.label),

        h(

          "el-popover",

          {

            props: {

              content: "最多显示5位责任人,如有更多责任人,请进入项目详情查看",

              placement: "top",

              trigger: "hover",

            },

          },

          [

            h("span", {

              class: "el-icon-warning",

              style: "color:#c7c9d4",

              slot: "reference",

            }),

          ]

        ),

      ]);

    },

}

 

2.使用表格自带slot属性。通过在template标签上添加slot="name" 实现自定义表头,也就是在同一个table-column下面可以同时存在原本显示每行内容的template和自定义表头的template。

 

<el-table-column>

        <template slot="header">

              <span>责任人</span>

              <el-popover

                placement="top"

                trigger="hover"

                content="最多显示5位责任人,如有更多责任人,请进入项目详情查看">

                <i class="el-icon-warning" slot="reference" style="color:#c7c9d4"></i>

              </el-popover>

         </template>

         <template slot-scope="scope">

                <span>这里是每行显示的内容</span>

        </template >

</el-table-column>


效果如下:

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):