4

我需要有一个元素表的自定义表头(标题 + svg + 工具提示)。我试图在没有运气的情况下使用“render-header”功能。更具体地说-如何为每列打印标签+ SVG(悬停时带有工具提示)?

html:

 <el-table-column property="name" label="Indicator" :render-header="appendTip">
        </el-table-column>

脚本:

appendTip(h, { column }) {
      return h(
        "el-tooltip",
        {
          attrs: {
            effect: "dark",
            content: "Test",
            placement: "top"
          }
        },
        [h("el-button", ["Tooltip"])]
      );

谢谢。

4

2 回答 2

4

这是我的解决方案:

appendTip(h, { column, $index }) {
      // Function(h, { column, $index })
      return h("span", [
        column.label,
        h(
          "el-popover",
          {
            props: {
              placement: "top",
              // title: "hello",
              // width: "200",
              trigger: "hover",
              content: this.test(column.label)
            }
          },
          [
            h(
              "i",
              {
                slot: "reference",
                class: "el-icon-info"
                //style: "color:gray;font-size:16px;margin-left:10px;"
              },
              ""
            )
          ]
        )
      ]);

我以此作为参考: https ://vuejs.org/v2/guide/render-function.html

于 2018-07-16T10:34:47.407 回答
0

我已经根据自己的要求进行了一些修改,我不需要 [i] 按钮来弹出框,我需要在标题文本上弹出框,所以下面给出了对我有用的语法

appendTip: function (h, { column, $index }) {

var content = "Popover content"
if (column.property == "isrequired") {
    content = "Value is Required";
}
else {
    return column.label;
}

return h(
        "el-popover",
        {
            props: {
                placement: "top",
                // title: "hello",
                // width: "200",
                trigger: "hover",
            }
        },
        [
            content,
            h(
                "span",
                {
                    slot: "reference",
                },
                column.label
            )
        ]
    );
},

感谢badigard的回答,对我帮助很大。

于 2018-09-22T06:19:03.133 回答