【VUE进阶】安装使用Element Plus组件

Element Plus组件

    • 安装
    • 引入组件
    • 使用
      • Layout 布局
      • button按钮
      • 行内表单
      • 菜单

安装

包管理安装

# 选择一个你喜欢的包管理器

# NPM
$ npm install element-plus --save

# Yarn
$ yarn add element-plus

# pnpm
$ pnpm install element-plus

在这里插入图片描述

浏览器直接引入
例如

<head>
  <!-- Import style -->
  <link rel="stylesheet" href="//unpkg.com/element-plus/dist/index.css" />
  <!-- Import Vue 3 -->
  <script src="//unpkg.com/vue@3"></script>
  <!-- Import component library -->
  <script src="//unpkg.com/element-plus"></script>
</head>

引入组件

完整引入。将Element Plus中所有文件引入

// main.ts
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'

const app = createApp(App)

app.use(ElementPlus)
app.mount('#app')

按需导入
首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

npm install -D unplugin-vue-components unplugin-auto-import

使用方式

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

使用

下面简单介绍几种常用组件

Layout 布局

通过基础的 24 分栏,迅速简便地创建布局。

row代表行 col代表列

gutter代表间距,默认为0

<template>
  <el-row :gutter="20">
    <el-col :span="6"><div class="grid-content ep-bg-purple" /></el-col>
    <el-col :span="6"><div class="grid-content ep-bg-purple" /></el-col>
    <el-col :span="6"><div class="grid-content ep-bg-purple" /></el-col>
    <el-col :span="6"><div class="grid-content ep-bg-purple" /></el-col>
  </el-row>
</template>

<style>
.el-row {
  margin-bottom: 20px;
}
.el-row:last-child {
  margin-bottom: 0;
}
.el-col {
  border-radius: 4px;
}

.grid-content {
  border-radius: 4px;
  min-height: 36px;
  background-color: aqua;
}
</style>

在这里插入图片描述

button按钮

<!-- vue3代码 小C学安全 -->
<template>
  <div>
    <el-button type="primary" class="">Primary</el-button><br>
    <el-button type="success">Success</el-button><br>
    <el-button type="info">Info</el-button><br>
    <el-button type="warning">Warning</el-button><br>
    <el-button type="danger">Danger</el-button><br>
  </div>

</template>

<script setup lang='ts'>
import { ref, reactive } from 'vue'

</script>
<style scoped>
</style>

在这里插入图片描述

行内表单

<!-- vue3代码 小C学安全 -->
<template>
  <el-form :inline="true" :model="formInline" class="demo-form-inline">
    <el-form-item label="漏洞名称">
      <el-input v-model="formInline.user" placeholder="请输入漏洞名称" clearable />
    </el-form-item>
    <el-form-item label="CVE编号">
      <el-select
        v-model="formInline.region"
        placeholder="请输入CVE编号"
        clearable
      >
        <el-option label="Zone one" value="shanghai" />
        <el-option label="Zone two" value="beijing" />
      </el-select>
    </el-form-item>
    <el-form-item label="更新时间">
      <el-date-picker
        v-model="formInline.date"
        type="date"
        placeholder="请选择更新时间"
        clearable
      />
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="onSubmit">搜 索</el-button>
    </el-form-item>
  </el-form>
</template>

<script lang="ts" setup>
import { reactive } from 'vue'

const formInline = reactive({
  user: '',
  region: '',
  date: '',
})

const onSubmit = () => {
  console.log('submit!')
}
</script>

<style>
.demo-form-inline .el-input {
  --el-input-width: 220px;
}

.demo-form-inline .el-select {
  --el-select-width: 220px;
}
</style>

在这里插入图片描述

菜单

<template>
  <el-menu
    :default-active="activeIndex"
    class="el-menu-demo"
    mode="horizontal"
    :ellipsis="false"
    @select="handleSelect"
  >
    <el-menu-item index="0">
      <img
        style="width: 100px"
        src="@/images/element-plus-logo.svg"
        alt="Element logo"
      />
    </el-menu-item>
    <div class="flex-grow" />
    <el-menu-item index="1">主页</el-menu-item>
    <el-menu-item index="1">新建任务</el-menu-item>
    <el-menu-item index="1">任务详情</el-menu-item>
    <el-menu-item index="1">生成报告</el-menu-item>
    <el-sub-menu index="2">
      <template #title>admin</template>
      <el-menu-item index="2-1">个人信息</el-menu-item>
      <el-menu-item index="2-2">修改密码</el-menu-item>
      <el-menu-item index="2-3">注销登录</el-menu-item>
    </el-sub-menu>
  </el-menu>
</template>

<script lang="ts" setup>
import { ref } from 'vue'

const activeIndex = ref('1')
const handleSelect = (key: string, keyPath: string[]) => {
  console.log(key, keyPath)
}
</script>

<style>
.flex-grow {
  flex-grow: 1;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/792270.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

银河麒麟(Kylin)KYSEC使用

1.推荐使用方法 *.临时禁用指令: setstatus disable--禁用 注&#xff1a;执行reboot后系统会自动启动 2.选用指令&#xff1a; *.永久禁用指令&#xff1a; setstatus disable -p *.重启后,KYSEC还是处理关闭关状态。 *.使用如下指令启用&#xff1a;setstatus enable …

第十九章 Nest multer 文件上传

上章我们了解了Express multer 文件上传的相关操作 本章将了解Nest中的文件上传。用 multer 包处理 multipart/form-data 类型的请求中的 file 新建个 nest 项目: nest new nest-multer-upload 安装 multer 的 ts 类型的包&#xff1a; npm install -D types/multer1、单文件…

tableau数据分层,数据组,与数据集 - 11

tableau数据分层&#xff0c;数据组&#xff0c;与数据集 1. 数据分层1.1 下钻1.2 上钻1.3 创建层级结构1.4 层级排序 2. 数据组2.1 创建分组2.2 编辑组2.3 分组2.4 相关结果2.5 相关例子 3. 静态数据集3.1 数据集相关概念3.2 静态数据集创建方法一3.3 静态数据集创建方法二3.4…

SpringBoot集成Sentinel 实现QPS限流

Spring Cloud Alibaba 的 Sentinel 组件提供了丰富的“流量控制“规则&#xff0c; 单体SpringBoot应用中也可以集成 Sentinel 来实现流量控制&#xff0c;本文主要讲 QPS流量控制。 SpringBoot集成Sentinel有两种方式&#xff1a; 一种是 dashboard控制面板的方式&#xff0…

Java接口案例

一案例要求&#xff1a; 二代码&#xff1a;(换方案只需要将操作类第二行的new新对象修改就能更改项目) Ⅰ&#xff1a;&#xff08;主函数&#xff09; package d1;public class test {public static void main(String[] args) {operator anew operator();a.show();a.averag…

Vue在一个页面调用另一个同级页面的方法

1、建个中转站 2、然后在两个页面都引入它&#xff0c;注意引入路径。 import Utils from src/utils/way 3、调用方的写法 //eg :Utils.$emit(demo, msg) 4、被调用方的写法 //eg :Utils.$on(demo, val>{})

想要制作自己的歌曲伴奏?提取伴奏人声分离软件我用这几款

在音乐制作、翻唱创作或是学术研究等领域&#xff0c;将人声与伴奏分离是一项常见的需求。随着这两年 AI 技术的发展&#xff0c;现在有许多软件和工具可以帮助用户实现这一目标&#xff0c;无需专业的音频编辑知识。本文将重点介绍简鹿人声分离工具以及其他几款知名的人声伴奏…

数据库第四次练习

数据准备 创建两张表&#xff1a;部门&#xff08;dept&#xff09;和员工&#xff08;emp&#xff09;&#xff0c;并插入数据&#xff0c;代码如下 create table dept( dept_id int primary key auto_increment comment 部门编号, dept_name char(20) comment 部门名称 ); in…

全现金!6.65亿美刀!AMD大手一挥收购欧洲最大私人AI实验室

当地时间2024年7月10日&#xff0c;AMD宣布&#xff0c;他们刚刚签署了一项最终协议&#xff0c;豪掷6.65亿美刀收购欧洲最大的私人人工智能实验室Silo AI&#xff0c;而且还是全现金收购&#xff01; 据AMD官网报道&#xff0c;该协议代表着该公司基于开放标准并与全球人工智…

IAR全面支持芯驰科技E3系列车规MCU产品E3119/E3118

中国上海&#xff0c;2024年7月11日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR与全场景智能车芯引领者芯驰科技宣布进一步扩大合作&#xff0c;最新版IAR Embedded Workbench for Arm已全面支持芯驰科技的E3119/E3118车规级MCU产品。IAR与芯驰科技有着悠久的合作历史&…

【精简教程】VSCode 连接 Remix

初始化 Node.js 项目 yarn init v1.22.19安装 Remix yarn add remix-project/remixd -g⚠️ 此时如果直接敲 remix&#xff0c;显示找不到这个命令。 使用 Node.js 来直接执行 remixd.js 文件 node node_modules\remix-project\remixd\src\bin\remixd.js&#x1f604; 连接上了…

tasking软件许可优化解决方案

Tasking软件介绍 TASKING SmartCode是用于英飞凌下一代AURIX™ TC4x微控制器家族的开发解决方案。SmartCode产生快速并且紧凑的代码&#xff0c;是唯一全面支持TC4x全部架构和内核的软件开发平台。英飞凌AURIXTM提供了实现ECU所需的处理能力、外设支持和安全/安全机制。 所有开…

独立站营销新思路:携手TikTok达人,促进用户参与与品牌传播

数字化时代&#xff0c;品牌传播的方式发生了重大变化。尤其是TikTok&#xff0c;作为全球最受欢迎的短视频平台之一&#xff0c;其独特的社群特点和用户行为模式&#xff0c;对品牌独立站提供了全新的营销思路。本文Nox聚星将和大家分析TikTok社群的特点和用户行为模式&#x…

let/const/var的区别及理解

在JavaScript中&#xff0c;let、const 和 var 是用来声明变量的关键字&#xff0c;但它们之间在作用域、变量提升、重复声明等方面存在区别&#xff0c;详细情况如下: 1. let、const、var 的区别 (1) 块级作用域 let 和 const&#xff1a;具有块级作用域&#xff0c;由 {} 包…

pico+unity3d搭建环境

分别注册pico开发者平台和unity的账号密码 下载pico的sdk和unity开发软件 创建unity3d核心项目 在项目中找到窗口&#xff0c;包管理器&#xff0c;添加磁盘的包&#xff0c;选中sdk 安装后就可以使用pico的操作和演示&#xff1b; 剩下的看文档

JVM:类加载器

文章目录 一、什么是类加载器 一、什么是类加载器 类加载器&#xff08;ClassLoader&#xff09;是Java虚拟机提供给应用程序去实现获取类和接口字节码数据的技术。类加载器只参与加载过程总的字节码获取并加载到内存这一部分。

中职网络安全B模块渗透测试server2380

使用nmap扫描添加参数-sV Flag:2.4.38 添加参数-A不然扫不全 &#xff08;这两题可以直接加-sV -A&#xff09; Flag: 4.3.11-Ubuntu 根据nmap扫描发现系统为ubuntu系统&#xff0c;ubuntu操作系统在某些版本中默认包含一个名为"ubuntu"的用户帐户。这是为了方…

电脑硬盘分区及合并指南

电脑硬盘分区是指将一个硬盘划分成多个独立的区域&#xff0c;每个区域可以被操作系统单独管理和使用&#xff0c;我们可以根据需要将数据分类存储&#xff0c;例如将系统文件、个人文件和多媒体内容分别存放在不同的分区中。合理的分区不仅可以提升系统性能&#xff0c;还能提…

硬盘模式vmd怎么改ahci_电脑vmd改ahci模式详细步骤

最近有很多网友问&#xff0c;我新买的电脑安装原版win10或win11找不到驱动器呀&#xff0c;进入第三方pe又找不到硬盘&#xff0c;找到硬盘安装后又出现安装蓝屏的情况&#xff0c;新机器怎么回事呀&#xff1f;这位网友内心有点崩溃&#xff0c;不知道啥原因。其实这些都是由…

洛谷P1498 南蛮图腾[递归好题]

南蛮图腾 题目背景 自从到了南蛮之地&#xff0c;孔明不仅把孟获收拾的服服帖帖&#xff0c;而且还发现了不少少数民族的智慧&#xff0c;他发现少数民族的图腾往往有着一种分形的效果&#xff0c;在得到了酋长的传授后&#xff0c;孔明掌握了不少绘图技术&#xff0c;但唯独…