【愚公系列】《循序渐进Vue.js 3.x前端开发实践》044-Element Plus入门

标题详情
作者简介愚公搬代码
头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
近期荣誉2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
博客内容.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
欢迎👍点赞、✍评论、⭐收藏


🚀前言

在现代前端开发中,用户界面的设计和体验越来越受到重视。为了提高开发效率和界面美观性,使用 UI 组件库已成为许多开发者的首选。Element Plus 作为一款基于 Vue 3 的组件库,为开发者提供了丰富而灵活的 UI 组件,帮助我们快速构建高质量的应用界面。

本篇文章将带你深入探索 Element Plus 的世界,帮助你快速上手这一强大的 UI 组件库。我们将介绍 Element Plus 的基本概念、安装步骤,并通过具体示例展示如何使用其丰富的组件来构建美观、响应式的用户界面。

在文章中,我们将涵盖 Element Plus 的核心组件,包括按钮、表单、表格、对话框等,逐步引导你了解如何配置和使用这些组件。同时,我们还会探讨主题定制、国际化支持以及与 Vue Router 和 Vuex 的集成等高级特性,帮助你在实际项目中灵活运用。

🚀一、Element Plus入门

Element Plus 是基于 Vue 3 的一个开源 UI 组件库,提供了丰富的组件,可以帮助开发者快速构建美观且功能强大的 Web 应用。它是 Element UI 的升级版本,完全支持 Vue 3 和 Composition API。

在本篇指南中,我将介绍如何使用 Element Plus 来构建 Vue 3 项目,包括两种常见的方式:使用脚手架(Vue CLI) 和 在 HTML 文件中引入。

🔎1. 使用脚手架(Vue CLI)创建项目并引入 Element Plus

🦋1.1 创建 Vue 3 项目

首先,你需要确保已经安装了 Vue CLI。如果没有安装 Vue CLI,请使用以下命令进行安装:

npm install -g @vue/cli

然后,通过 Vue CLI 创建一个 Vue 3 项目:

vue create my-project

在创建过程中,选择 Vue 3 配置。Vue CLI 会为你生成一个基础的 Vue 3 项目结构。

进入项目目录:

cd my-project

🦋1.2 安装 Element Plus

进入项目目录后,使用 npm 或 yarn 安装 Element Plus:

npm install element-plus

或如果你使用的是 yarn:

yarn add element-plus

🦋1.3 全局引入 Element Plus

在你的 Vue 项目中,通常可以通过 全局引入 Element Plus,或者 按需引入 组件。这里我们首先介绍全局引入。

打开 src/main.js 文件,在文件顶部引入 Element Plus,并在 Vue 实例中进行使用:

import { createApp } from 'vue'
import App from './App.vue'

// 引入 Element Plus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css' // 引入样式
// 引入图标
import * as ElementPlusIconsVue from '@element-plus/icons-vue'

const app = createApp(App)

// 遍历ElementPlusIconsVue中的所有组件进行祖册
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    // 向应用实例中全局注册图标组件
    app.component(key, component)
}

app.use(ElementPlus) // 注册 Element Plus 插件

app.mount('#app')

🦋1.4 使用 Element Plus 组件

现在你可以在 App.vue 或其他组件中使用 Element Plus 提供的组件了。例如,使用一个按钮组件:

打开 src/App.vue 文件,修改内容如下:

<template>
  <div id="app">
    <el-button type="primary">这是一个 Element Plus 按钮</el-button>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

然后运行开发服务器:

npm run serve

此时你就可以在浏览器中访问 http://localhost:8080,看到一个按钮,点击它就可以看到按钮的效果。

在这里插入图片描述

🔎2. 按需引入 Element Plus 组件

在项目中如果只使用 Element Plus 的少数组件,按需引入可以减小打包体积。

🦋2.1 安装插件

你需要安装 unplugin-vue-componentsunplugin-auto-imports 插件,它们可以帮助我们按需引入组件和 API。

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

🦋2.2 配置插件

vite.config.jsvue.config.js 中进行配置(如果你是使用 Vue CLI 创建的项目,默认会有一个 vue.config.js 文件)。

打开 vue.config.jsvite.config.js 文件,进行如下配置:

import { defineConfig } from 'vite'
import Vue from '@vitejs/plugin-vue'
import Components from 'unplugin-vue-components/vite'
import AutoImport from 'unplugin-auto-import/vite'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    Vue(),
    Components({
      resolvers: [
        // 自动导入 Element Plus 的组件
        (name) => {
          if (name.startsWith('El')) {
            return { name, from: 'element-plus' }
          }
        },
      ],
    }),
    AutoImport({
      imports: ['vue', 'vue-router'], // 自动导入 vue 和 vue-router
    }),
  ],
})

🦋2.3 使用组件

通过这种方式,你无需在 main.js 文件中手动引入组件,只需要在需要的地方使用它们。

例如,在 App.vue 中使用 Element Plus 的按钮组件:

<template>
  <div id="app">
    <el-button type="primary">这是一个按需引入的按钮</el-button>
  </div>
</template>

<script>
export default {
  name: 'App',
}
</script>

在这种配置下,Element Plus 的相关组件会根据你的使用情况自动导入和按需加载。

🔎3. 在 HTML 文件中引入 Element Plus

如果你不想使用 Vue CLI 脚手架,或者只是简单地在一个 HTML 文件中快速使用 Element Plus,可以按以下方式进行操作。

🦋3.1 引入 Element Plus 和 Vue

在你的 index.html 文件中,直接引入 Vue 和 Element Plus 的 CDN 链接:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ElementUI</title>
    <link rel="stylesheet" href="https://unpkg.com/element-plus/dist/index.css" />
    <!-- 引入Vue -->
    <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
    <!-- 引入组件库 -->
    <script src="https://unpkg.com/element-plus"></script>
</head>
<body>
    <div id="Application" style="text-align: center;">
        <div style="margin: 40px;"><el-tag>这里是模板的内容:{{count}}次点击</el-tag></div>
        <div><el-button v-on:click="clickButton">按钮</el-button></div>
    </div>
    <script>
        const {createApp, ref} = Vue
        const App = {
            setup() {
                const count = ref(0)
                const clickButton = () => {
                    count.value = count.value + 1
                }
                return {count, clickButton}
            }
        }
        // 创建Vue应用实例
        let instance = createApp(App) 
        // 挂载使用Element Plus模块
        instance.use(ElementPlus) 
        // 挂载应用实例
        instance.mount("#Application")
    </script>
</body>
</html>

🦋3.2 运行 HTML 文件

保存文件后,在浏览器中打开 index.html,你将会看到 Element Plus 提供的按钮组件。

这种方式适合快速测试或小型项目,不需要构建系统,也不需要安装依赖。

在这里插入图片描述

🔎4. Element Plus 组件示例

Element Plus 提供了丰富的 UI 组件,常见的组件包括:

  • 按钮(Button):<el-button>
  • 输入框(Input):<el-input>
  • 表单(Form):<el-form>
  • 弹框(Dialog):<el-dialog>
  • 表格(Table):<el-table>
  • 导航栏(Menu):<el-menu>

这些组件可以通过 Vue 3 的模板语法 来直接使用。例如:

<template>
  <el-button @click="openDialog">打开弹框</el-button>

  <el-dialog :visible.sync="dialogVisible" title="Hello">
    <p>这是一个 Element Plus 的弹框</p>
  </el-dialog>
</template>

<script>
export default {
  data() {
    return {
      dialogVisible: false,
    };
  },
  methods: {
    openDialog() {
      this.dialogVisible = true;
    },
  },
}
</script>

🔎5. 总结

  • 使用脚手架(Vue CLI)方式:可以通过 Vue CLI 创建 Vue 项目并引入 Element Plus。
  • 按需引入方式:通过配置插件,减少打包体积,仅引入需要的组件。
  • 在 HTML 中引入:适用于简单的项目或测试,直接通过 CDN 引入 Vue 和 Element Plus。

Element Plus 为 Vue 3 提供了强大的 UI 组件,可以帮助你快速构建现代化的 Web 应用。希望这篇入门指南能够帮助你顺利上手 Element Plus!如果你有任何问题,欢迎随时提问。

前端开发是创建WEB页面或APP等前端界面呈现给用户的过程,通过HTML、CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。 前端开发从网页制作演变而来,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。随着互联网技术的发展和HTML5、CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。 前端开发的流程主要包括: 需求分析:明确网页或应用程序的功能、目标用户、界面风格等。 项目规划:制定详细的项目计划,包括制定项目的时间表、任务分配和前端技术选型等。 设计阶段:进行网页或应用程序的设计工作,包括制定整体布局、设计界面的风格、色彩搭配、字体选用等。 前端开发:根据设计稿进行页面切图,将页面的设计转化为代码,然后使用HTML、CSS和JavaScript等技术语言进行页面的搭建和开发,同时关注页面的交互效果、动画效果等。 前端测试:测试页面的兼容性、响应式布局、用户体验等方面。 上线发布:经过测试确认无误后,将网站或应用程序上线发布。 在前端开发中,会涉及到一些重要的前端技术栈,如vue.js、react.js、node.js前端安全、react-native等。同时,也需要借助一些工具,如代码编辑工具(WebStorm、VS Code)、代码版本控制工具(Git、SVN)、代码包管理工具(npm、Yarn)、前端构建工具(Webpack、Vite)等,来提升开发效率和质量。 总的来说,前端开发是一个不断发展与进步的领域,随着新的样式解决方案和组件库的不断涌现,以及前端框架的不断更新和演进,前端开发的技术栈和工具链也在不断完善和丰富。未来,前端社区将继续充满朝气与活力,为互联网产品的用户界面交互带来更多的创新和突破。
### RVIZ2 中不支持立体视觉的原因 RVIZ2 主要用于可视化来自不同传感器的数据,包括激光雷达、摄像头等。然而,在当前版本中确实存在对立体视觉支持不足的情况[^2]。 原因主要在于: - **数据处理复杂度**:立体视觉涉及到两幅图像的同时处理与匹配计算,这对实时性能提出了更高要求。 - **API 设计差异**:ROS 2 的 API 虽然提供了丰富的功能接口来构建复杂的机器人应用系统,但对于特定类型的多目相机的支持还不够完善。 ### 解决方案 尽管官方默认情况下未直接提供针对立体视觉的良好集成体验,但仍有一些可行的方法可以实现这一需求: #### 方法一:自定义插件开发 通过创建自定义显示插件的方式扩展 RVIZ2 功能。这需要开发者熟悉 C++ 编程语言以及 ROS 2 插件机制,并能够调用 OpenCV 或其他计算机视觉库来进行双目视差图的生成和渲染。 ```cpp #include <rviz_common/display.hpp> // ... other necessary includes ... class StereoVisionDisplay : public rviz_common::Display { public: // Implement required methods and members here... }; ``` #### 方法二:利用第三方工具链 借助于像 `stereo_image_proc` 这样的包先对外部获取到的左右眼图片流做预处理得到深度信息后再输入给 RVIZ2 显示。这种方式不需要修改 RVIZ2 源码本身,相对简单易行一些。 ```bash ros2 run stereo_image_proc disparity stereo/left/image_raw stereo/right/image_raw ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愚公搬代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值