vue3显示element-plus所有icon

2024-05-17 16:18

本文主要是介绍vue3显示element-plus所有icon,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果

在这里插入图片描述

代码

<template><div style="display: flex;flex-wrap: wrap"><component :is="name" style="width: 2rem; margin-left: 2rem" v-for="(name,index) in icons" :index="index" :key="index"></component></div>
</template><script>
import * as ElIcons from '@element-plus/icons'
import {reactive, ref, toRefs} from "vue";export default {components: {...ElIcons},name: "Naruto-Icon.vue",setup() {const getData = () => {let icons = []for (const name in ElIcons) {icons.push(name)}return icons}const iconList = reactive({icons: getData()})return {...toRefs(iconList)}}
}
</script><style scoped></style>

延申

封装成复用组件。

效果

在这里插入图片描述

组件代码

<template><el-input @click="dialogVisible = true" v-model="currentIconName"></el-input><el-dialogv-model="dialogVisible"title="请选择图标"width="80%":before-close="handleClose"@open="beforeOpen"><div style="display: flex;flex-wrap: wrap"><div v-for="(name,index) in icons" :index="index" :key="index" style="cursor: pointer;padding: 1rem":class="currentIconName === name ? 'red' : ''"@click="currentIconName = name"><component :is="name" style="width: 2rem;height: 2rem"></component></div></div><template #footer><span class="dialog-footer"><el-button @click="dialogVisible = false">取消</el-button><el-button type="primary" @click="handleOk">确定</el-button></span></template></el-dialog></template><script>
import * as ElIcons from '@element-plus/icons'
import {reactive, ref, toRefs, watch} from "vue";export default {components: {...ElIcons},name: "Naruto-Icon.vue",emits: ['update:iconName'],props: {iconName: {type: String}},setup(props, context) {const getData = () => {let icons = []for (const name in ElIcons) {icons.push(name)}return icons}const handleClose = () => {iconList.dialogVisible = false;}const beforeOpen = () => {}const handleOk = () => {context.emit(`update:iconName`, iconList.currentIconName);handleClose();}const iconList = reactive({icons: getData(),dialogVisible: false,currentIconName: 'Aim'})watch(() => props.iconName,(val) => {iconList.currentIconName = val;})return {...toRefs(iconList),handleClose,beforeOpen,handleOk}}
}
</script><style scoped lang="less">
.red{background-color: palevioletred;color: white;
}
</style>

这篇关于vue3显示element-plus所有icon的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/995585

相关文章

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

idea粘贴空格时显示NBSP的问题及解决方案

《idea粘贴空格时显示NBSP的问题及解决方案》在IDEA中粘贴代码时出现大量空格占位符NBSP,可以通过取消勾选AdvancedSettings中的相应选项来解决... 目录1、背景介绍2、解决办法3、处理完成总结1、背景介绍python在idehttp://www.chinasem.cna粘贴代码,出

SpringBoot返回文件让前端下载的几种方式

《SpringBoot返回文件让前端下载的几种方式》文章介绍了开发中文件下载的两种常见解决方案,并详细描述了通过后端进行下载的原理和步骤,包括一次性读取到内存和分块写入响应输出流两种方法,此外,还提供... 目录01 背景02 一次性读取到内存,通过响应输出流输出到前端02 将文件流通过循环写入到响应输出流

MyBatis-Plus使用动态表名分表查询的实现

《MyBatis-Plus使用动态表名分表查询的实现》本文主要介绍了MyBatis-Plus使用动态表名分表查询,主要是动态修改表名的几种常见场景,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录1. 引入依赖2. myBATis-plus配置3. TenantContext 类:租户上下文

SpringBoot+Vue3整合SSE实现实时消息推送功能

《SpringBoot+Vue3整合SSE实现实时消息推送功能》在日常开发中,我们经常需要实现实时消息推送的功能,这篇文章将基于SpringBoot和Vue3来简单实现一个入门级的例子,下面小编就和大... 目录前言先大概介绍下SSE后端实现(SpringBoot)前端实现(vue3)1. 数据类型定义2.

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

MyBatis Plus中执行原生SQL语句方法常见方案

《MyBatisPlus中执行原生SQL语句方法常见方案》MyBatisPlus提供了多种执行原生SQL语句的方法,包括使用SqlRunner工具类、@Select注解和XML映射文件,每种方法都有... 目录 如何使用这些方法1. 使用 SqlRunner 工具类2. 使用 @Select 注解3. 使用

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境