【Vue3.0实战逐步深入系列】使用elementui组件库element-plus美化投票功能

2023-11-20

【千字长文,熬夜更新,原创不易,多多支持,感谢大家】

前言

小伙伴们大家好。前面一篇文章中我们利用vue3.0实现了一个超级简单的投票功能,虽然功能是实现了也达到了巩固vue3.0知识点的目的,但是页面没有添加任何样式也没有进行任何的UI设计,因此页面很丑。前端作为一个项目的门面是万万不能少了样式和ui设计的,因而本篇文章就将在上一篇的基础上添加一些样式,引用一些新的UI组件库。
先来看下优化前后的效果草图,实际页面更好看一点
在这里插入图片描述

element-plus

本着尽可能少的写样式我们本次案例中引用了elementui的UI组件库,我们用的是vue3.0,因此对应的elementui也需要用支持3.0版本的组件库 element-plus。下面梳理一下具体的实现步骤:

  • 首先通过npm或者yarn安装组件库: npm install element-plus 或者 yarn add element-plus
  • 在main.js文件中将组件库的样式文件导入:import 'element-plus/dist/index.css’
  • 因为我们只是用到几个组件库,所以我们采用按需引入的形式,即用到哪些组件就导入哪些组件。按需导入,element官方为我们提供了两种导入方式
    • 自动导入:也是官方推荐的,但是按照官方的步骤一顿操作下来发现并不行,果断放弃
    • 手动导入:这个按照官方步骤即可实现没有问题,最后还是老老实实采用了这种方式
  • 我们的按钮要用到elementui中的图标,因此还需要安装一下图标库:npm install @element-plus/icons这步先别急着操作,看完后面的小坑后再操作

避开两个小坑

  • 坑1:我个人习惯在vscode的终端(Terminal)中去操作命令行,然而当我在Terminal中按照element官方的指导去安装图标库的时候,死活就是装不上总是报不识别的错误。在经过不同的尝试后,后来发现切换到系统自带的cmd命令行中就可以安装成功了
  • 坑2:当我们在使用图标按钮的时候,官方给出的示例是这样的:
//javascript
	<script setup>
		import {
     Check } from '@element-plus/icons' 
	</script>
<!--html-->
<el-button type='success' :icon="Check" circle />

操作下来没有问题,是我们想要的图标按钮,然而不知为什么非要在script标签中添加一个setup,这就导致原来script中的逻辑代码全都无效了,因此引进了一个按钮导致原来的功能都失效了,这显然是得不偿失的。如果把setup去掉原来功能正常了,按钮的样式又没了。经过一番折腾和尝试,最终找到了一种解决办法:

  • 把< script setup >这个标签全部删除,然后在我们原有的script中导入图标库
  • 如果想把图标作为组件使用,则需把导入后的图标在components中进行注册,然后再在模板中直接作为标签使用
  • 如果想把图标作为响应式属性使用,那么在导入图标后必须像其它响应式属性一样再通过setup函数中的return暴露出去,这样才可以在模板中作为属性使用
  • 作为组件使用
// 作为组件使用
import {
    Check } from '@element-plus/icons' 
export default{
   
	components:{
   Check}
}
<el-icon><Check /></el-icon>
  • 作为响应式属性使用
import {
    Check } from '@element-plus/icons' 
export default {
   
	setup(){
   
		// ...
		return{
   
			Check
		}
	}
}
<el-button type='success' 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Vue3.0实战逐步深入系列】使用elementui组件库element-plus美化投票功能 的相关文章

随机推荐

  • Mysql进阶优化篇05——子查询的优化和排序优化

    前 言 作者简介 半旧518 长跑型选手 立志坚持写10年博客 专注于java后端 专栏简介 mysql基础 进阶 主要讲解mysql数据库sql刷题 进阶知识 包括索引 数据库调优 分库分表等 文章简介 本文将介绍JOIN语句的底层原理
  • XXX--1.0-SNAPSHOT.jar中没有主清单属性

    一 情况 将项目打包后 启动项目时报 yiqi 1 0 SNAPSHOT jar中没有主清单属性 二 原因 maven项目打包时没有配置主类 缺少plugin配置 三 解决 加上plugin配置
  • 5款最好的开源用户关系管理工具

    5款最好的开源用户关系管理工具 by Scott Nesbitt 原文链接 http opensource com business 14 7 top 5 open source crm tools 创造和维系与客户的关系不是容易的事 然而
  • c# leveldb测试

    private void button1 Click object sender EventArgs e var db LevelDB DB Open new LevelDB Options CreateIfMissing true Env
  • 【马士兵】Python基础--16(面向对象)

    Python基础 16 面向对象 文章目录 Python基础 16 面向对象 面向对象的三大特征 封装 继承 方法重写 object类 多态 静态语言与动态语言 面向对象的三大特征 封装 封装的实现 class Student def in
  • docker mysql utf8mb4 编码问题解决方法

    docker mysql utf8mb4 编码问题解决方法 最近在学习docker mysql写入中文报错的问题困扰了我2 3天 在搜索了相关资料后终于找到了解决方法 原因是mysql5 7及之前的默认字符集是latain 而它是不支持中文
  • uview的select组件选择问题

    官方文档羞涩难懂 直接用拖拽工具 对于常用的表单组件 可直接帮你生成相关事件 时间 单列多列等选择器等支持数据回显功能 免开发 在拖拽面板中的 formitem 表单项中 转载 uniapp页面速成提效工具 uniapp uview ui
  • Xray工具使用(一)

    xray简介 xray 是一款功能强大的安全评估工具 主要特性有 检测速度快 发包速度快 漏洞检测算法高效 支持范围广 大至 OWASP Top 10 通用漏洞检测 小至各种 CMS 框架 POC 均可以支持 代码质量高 编写代码的人员素质
  • 华为java社招面试题目及全部流程详解

    华为的招聘流程一直非常复杂 本人最近参加了华为的社招 对全部流程有一个总体了解 包括流程 面试题目类型 分享给大家 希望大家能有所帮助 首先是华为hr审核简历 看一个简历和所需职位的匹配度 基本就是看毕业学校 看掌握技能是否与所需职位吻合
  • 《论文阅读》CARE:通过条件图生成的共情回复因果关系推理 EMNLP 2022

    论文阅读 CARE 通过条件图生成的移情反应因果关系推理 前言 简介 基础知识 Transformer Variational Graph Auto Encoder 变分图自编码器 邻接矩阵 adjacency matrix 图神经网络 G
  • HDFS 文件读写流程剖析

    Write hadoop fs put czz log wc in 1 Client调用FileSystem create filePath 方法 与NN进行RPC通信 check是否存在及是否有权限创建 假如不ok 就返回错误信息 假如o
  • 【RTT驱动框架分析06】-pwn驱动框架分析+pwm驱动实现

    pwm pwm应用程序开发 访问 PWM 设备API 应用程序通过 RT Thread 提供的 PWM 设备管理接口来访问 PWM 设备硬件 相关接口如下所示 函数 描述 rt device find 根据 PWM 设备名称查找设备获取设备
  • React、Vue2.x、Vue3.0的diff算法

    前言 本文章不讲解 vDom 实现 mount 挂载 以及 render 函数 只讨论三种 diff 算法 VNode 类型不考虑 component functional component Fragment Teleport 只考虑 E
  • 算法篇--链表求和

    问题描述 给两个链表 每个链表为一个整数的倒序 如下 1 2 3 4 5 7 9 两个数字的结果 321 9754 10075 那么 请得到 链表的结果为 5 7 0 0 1 思考 思路总结 两个链表肯定有一个最长的 等于情况取哪个都行 所
  • sudo配置文件/etc/sudoers详解及实战用法

    一 sudo执行命令的流程 将当前用户切换到超级用户下 或切换到指定的用户下 然后以超级用户或其指定切换到的用户身份执行命令 执行完成后 直接退回到当前用户 具体工作过程如下 当用户执行sudo时 系统会主动寻找 etc sudoers文件
  • hudi概念

    近实时摄取 对于 RDBMS 关系型的摄入 Hudi提供了更快的 Upset 操作 例如 你可以通过 MySql binlog 的形式或者 Sqoop 导入到 hdfs上的对应的 Hudi表中 这样操作比 Sqoop 批量合并 job Sq
  • tomcat进程意外退出的问题分析

    节前某个部门的测试环境反馈tomcat会意外退出 我们到实际环境排查后发现不是jvm crash 日志里有进程销毁的记录 从pause到destory的整个过程 org apache coyote AbstractProtocol paus
  • RNA-seq——四、根据序列比对结果筛选差异基因

    目录 1 合并矩阵并进行注释 2 筛选差异基因 DESeq2 写在前面 经过前面的一系列分析 我们得到了几个counts数据 接下来就需要根据这些数据来进行分析 本文使用Rstudio 从序列比对结果中筛选出差异基因 目的是 根据不同基因的
  • 在使用服务器时,配置torch环境(这里是以tengxunyun为例子配置的环境)

    这里配置的环境是使用的bubbliiiing的代码为例子进行配置的 配置环境需要对应自己电脑的显卡以及CUDA版本 最重要是torch的安装 一定要去官网去找对应的版本 1 conda create n pytorch python 3 6
  • 【Vue3.0实战逐步深入系列】使用elementui组件库element-plus美化投票功能

    千字长文 熬夜更新 原创不易 多多支持 感谢大家 前言 小伙伴们大家好 前面一篇文章中我们利用vue3 0实现了一个超级简单的投票功能 虽然功能是实现了也达到了巩固vue3 0知识点的目的 但是页面没有添加任何样式也没有进行任何的UI设计