当前位置: 首页 > news >正文

实用指南:vue3+elementplus表格表头加图标及文字提示

实用指南:vue3+elementplus表格表头加图标及文字提示

表头加自定义内容有很多种方法,包括使用el-icon,插槽,CSS 伪元素添加图标还有font-awesome等等。

一、方法一:使用render-header属性

   {      return (                  {column.label}                                              )    }"  >

二、方法2:使用插槽

年龄

三、方法3:通过 CSS 伪元素添加图标

     /* 在特定列后添加图标 */.el-table__header th:nth-child(3) .cell::after {  content: "\e609"; /* ElementPlus图标Unicode */  font-family: "element-icons";  margin-left: 5px;}

四、方法4:封装自定义组件

      {{ label }}                 export default {  props: {    label: String,    tooltip: String  }}

五、 Font Awesome 图标

1、使用 npm 或 yarn 安装核心库及所需图标集:
npm install @fortawesome/fontawesome-svg-core \            @fortawesome/free-solid-svg-icons \            @fortawesome/free-regular-svg-icons \            @fortawesome/free-brands-svg-icons \            @fortawesome/vue-fontawesome@prerelease
  • fontawesome-svg-core:核心库
  • free-solid-svg-icons:实心图标集
  • free-regular-svg-icons:常规图标集
  • free-brands-svg-icons:品牌图标集
  • vue-fontawesome@prerelease:Vue3 兼容版本
2、在 src/main.js 中导入并注册常用图标:
import { createApp } from 'vue'import App from './App.vue'import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'import { library } from '@fortawesome/fontawesome-svg-core' // 导入需要的图标import {   faUser, faEnvelope, faPhone, faInfoCircle,  faEdit, faTrash, faCheck, faTimes } from '@fortawesome/free-solid-svg-icons' // 将图标添加到库中library.add(faUser, faEnvelope, faPhone, faInfoCircle,             faEdit, faTrash, faCheck, faTimes) createApp(App)  .component('font-awesome-icon', FontAwesomeIcon) // 全局注册组件  .mount('#app')
3、在 Vue 模板中直接使用 <font-awesome-icon> 组件
                                                 export default {  data() {    return {      currentIcon: 'check' // 动态切换图标    }  }}
4、在特定组件中使用图标
         import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'import { faUser } from '@fortawesome/free-solid-svg-icons' export default {  components: {    FontAwesomeIcon  },  setup() {    return {      faUser    }  }}

总结:

我用到的实在特定页面特定表格列使用图标,主要代码:

html:

 renderHeaderWithTooltip(props, item)"            >                                                 已填写                  {{ scope.row[item.prop] }}项未填写                                                  完善                  未完善                                      {{ scope.row[item.prop] }}项未完善

js:

//引入import { h } from 'vue';import { ElTooltip } from 'element-plus';import 'font-awesome/css/font-awesome.min.css'; / 表头展示图标及提示const renderHeaderWithTooltip = (props, item) => {  const tooltipContent = {    '编制信息状态': '该教师除"隶属集团"外的字段未填写的数量',    '教育教学信息状态': '近5年教育教学填写情况',    '个人信息状态': '该教师除"曾用名"外的字段未填写的数量'  }[item.name];    if (tooltipContent) {    return h(      ElTooltip,      { placement: 'top', content: tooltipContent },      {        default: () => h(          'div',          { class: 'flex items-center justify-center' },          [            h('i', {              class: 'fa fa-info-circle mr-3 text-primary',               style:{'font-size': '16px','margin-top': '3px'} }),            h('span', props.column.label)          ]        )      }    );  } else {    // 对于不需要提示的列,直接显示标签    return h('span', props.column.label);  }};

http://www.jsqmd.com/news/10172/

相关文章:

  • 9.29课后整理 - GENGAR
  • 深入解析:【QT】`QTextCursor::insertText()`中插入彩色文本
  • Java方法专题 - 动手动脑问题与实验总结
  • 2025年中盘点
  • 学习问题日记-3
  • 【CVE-2025-4123】Grafana完整分析SSRF和从xss到帐户接管 - 教程
  • 差分约束乘法改加减
  • 01-方法-课后作业
  • 【学习记录】Django Channels + WebSocket 异步推流编写常用命令汇总
  • 边缘数据库近期想法(2)
  • 方法-课后作业1
  • AgpdParty
  • io软件的层次结构
  • 2025年- H57-Lc165--994.腐烂的橘子(图论,广搜)--Java版 - 教程
  • 深入解析:Python应用函数的定义与调用(一)
  • 3,信号与槽机制 - 教程
  • 课后思考及作业:方法
  • 2025国庆Day7
  • 月嫂面试题
  • 深入理解 JSX:React 的核心语法 - 实践
  • 对顶堆维护区间中位数板子
  • AXURE-动态面板 - 实践
  • 把握一个Makefile的脉络
  • AI元人文:共识锚定与智慧剪枝——构建人机共生认知经济体的完善理论体系与实践路径
  • 羊蹄
  • 出题系统
  • io控制方式
  • 【基础】 - ACPI是什么?
  • 我 是 人 机
  • 方法作业