Element Plus时间线怎么自定义节点图标? 西门奥杰 提问于 2026-02-26 17:19:19 阅读 67 组件 我用Element Plus的Timeline组件,想把默认的圆点换成自定义图标,但文档里没看懂怎么弄。试了在el-timeline-item里加icon属性,结果根本没生效,控制台也没报错,就是显示不出来。 比如我想用一个Check图标代替默认节点,代码是这样写的: <el-timeline> <el-timeline-item icon="Check">步骤1</el-timeline-item> </el-timeline> 但页面上还是显示原来的圆点,是我用法不对吗? 主题定制 我来解答 赞 6 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 2 条解答 Dev · 心虹 Lv1 Element Plus的Timeline自定义图标要这样搞,你的写法不对。icon属性要用el-icon组件才行,不能直接传字符串。 拿去改改: <el-timeline> <el-timeline-item> <template #dot> <el-icon><Check /></el-icon> </template> 步骤1 </el-timeline-item> </el-timeline> 记得先导入Check图标组件: import { Check } from '@element-plus/icons-vue' 我TM之前也在这栽过跟头,文档确实写得不够明显。要用#dot插槽覆盖默认节点,而不是简单的icon属性。 回复 点赞 1 2026-03-05 16:02 慕容蓝月 Lv1 你这个问题其实不是Element Plus的问题,是Element Plus文档里藏了个小坑。icon属性确实存在,但默认只支持 Element Icons(就是 @element-plus/icons-vue 这套),你写 icon="Check" 它压根不认识——因为 Check 不是 Element Icons 里的标准图标名,而且你也没注册任何图标库。 正确做法有两种: 第一种,用 Element Icons 的标准图标名,比如 CircleCheck、CircleClose 这类(注意大小写!): <el-timeline> <el-timeline-item icon="CircleCheck">步骤1</el-timeline-item> </el-timeline> 前提是你要在项目里装了 @element-plus/icons-vue 并按需注册了图标,比如: import { CircleCheck } from '@element-plus/icons-vue' app.component('CircleCheck', CircleCheck) 第二种更灵活,直接用 slot="dot" 自定义节点内容,这个在 WP 里我经常用,特别是要上 SVG 图标或者 emoji 的时候: <el-timeline> <el-timeline-item> <template #dot> <el-icon :size="20" color="#409eff"> <Check /> </el-icon> </template> 步骤1 </el-timeline-item> </el-timeline> 注意 Check 要是你已经注册过的图标组件,或者你也可以直接写 ... 也行。 如果你图省事,不想引图标库,直接用 emoji 也行: <el-timeline> <el-timeline-item> <template #dot>✅</template> 步骤1 </el-timeline-item> </el-timeline> 总之 icon 属性不是万能的,它只是个语法糖,真正能用的前提是你系统里有对应的图标注册。想自由点,还是用 slot="dot" 最踏实。 回复 点赞 2 2026-02-26 18:02 加载更多 相关推荐 2 回答 97 浏览 Element Plus时间线节点背景色怎么改不生效? 在用Element Plus的Timeline组件时,想给节点改成蓝色背景加白色图标,按官网写法设置了dot-icon和content,但背景色始终显示默认的灰色,内联样式也试过了还是没反应,这是为什... 南宫俊宇 组件 2026-01-29 02:15:29 2 回答 49 浏览 Element Plus 的 Result 组件怎么自定义图标? 我用 Element Plus 的 Result 组件展示操作结果,但想把默认的图标换成自己的 SVG 图标,试了 icon 属性但没生效,是不是用法不对? 官方文档说 icon 支持传入组件,但我直... 启航 组件 2026-03-06 11:46:20 1 回答 57 浏览 Element Plus日历组件怎么自定义日期单元格内容? 我在用Element Plus的Calendar组件,想在每个日期格子里显示自定义内容,比如当天的待办数量。官方文档说可以用scoped slot,但我试了date-cell好像没生效? 我这样写的:... 金壵(打工版) 组件 2026-03-17 16:23:20 1 回答 55 浏览 Element Plus 图标不显示怎么办? 我在 Vue3 项目里装了 Element Plus,想用图标但一直显示空白。按照文档引入了 import { Edit } from '@element-plus/icons-vue',也在组件里注... 欧阳振艳 组件 2026-02-27 17:41:18 2 回答 45 浏览 Element Plus的Result组件图标不随状态变化怎么办? 我在用Element Plus的Result组件做操作反馈页面时,想根据不同的API返回状态动态切换图标和描述。按照文档写了状态绑定,但图标一直显示默认的成功图标,文字倒是能变: import { d... 南宫英杰 组件 2026-02-02 19:50:27 2 回答 71 浏览 Element Plus图标不显示,颜色设置也没效果怎么办? 刚在项目里用Element Plus的ElIcon组件包裹SvgIcon,图标完全没显示出来。我按文档引入了ElIcon和对应图标组件,但页面就是一片空白。更奇怪的是,我给图标加了红色和2倍大小,样式... 名哲~ 组件 2026-01-31 12:16:25 2 回答 94 浏览 Element Plus的Result组件如何自定义图标样式? 我在用Element Plus的Result组件做操作反馈页时,想把默认的成功图标换成其他图标,但直接设置icon属性没效果。试过用icon插槽手动放svg图标,虽然显示出来了但位置不对,总是偏移到右... 司徒景荣 组件 2026-01-26 19:02:25 1 回答 33 浏览 Element Plus分页组件怎么自定义每页显示条数? 我在用Element Plus的Pagination做表格分页,想让用户自己选每页显示多少条,比如10、20、50这样。但文档里没太看懂怎么配置,试了:page-sizes="[10, 20, 50]... Designer°自立 组件 2026-03-30 10:00:14 1 回答 27 浏览 Element Plus日历组件怎么自定义日期样式? 我在用 Element Plus 的 Calendar 组件,想把某些特殊日期(比如节假日)标红,但文档里没找到怎么改单个日期的样式。 试过用 :date-class 属性返回类名,但好像没生效。是不... 端木诗诗 组件 2026-03-25 10:08:21 2 回答 40 浏览 Element Plus 描述列表样式不生效怎么办? 我在用 Element Plus 的 Descriptions 组件时,想自定义 label 的宽度,但加了 CSS 好像没反应,是不是我写法有问题? 试过在组件外层加 class,也试过用 :dee... 司马玉鑫 组件 2026-03-24 17:07:19
el-icon组件才行,不能直接传字符串。拿去改改:
记得先导入Check图标组件:
我TM之前也在这栽过跟头,文档确实写得不够明显。要用
#dot插槽覆盖默认节点,而不是简单的icon属性。icon属性确实存在,但默认只支持 Element Icons(就是@element-plus/icons-vue这套),你写icon="Check"它压根不认识——因为Check不是 Element Icons 里的标准图标名,而且你也没注册任何图标库。正确做法有两种:
第一种,用 Element Icons 的标准图标名,比如
CircleCheck、CircleClose这类(注意大小写!):前提是你要在项目里装了
@element-plus/icons-vue并按需注册了图标,比如:第二种更灵活,直接用
slot="dot"自定义节点内容,这个在 WP 里我经常用,特别是要上 SVG 图标或者 emoji 的时候:注意
Check要是你已经注册过的图标组件,或者你也可以直接写也行。如果你图省事,不想引图标库,直接用 emoji 也行:
总之
icon属性不是万能的,它只是个语法糖,真正能用的前提是你系统里有对应的图标注册。想自由点,还是用slot="dot"最踏实。