element-plus组件使用图标

element-plus是和Vue3搭配使用的,Element-UI和Vue2搭配使用,不能跨版本使用

安装:

安装element-plus时(npm install element-plus --save ),出现错误,提示别的包的版本号,说明npm版本太高(高于7会出现这些错误),降npm版本:npx -p npm@6 npm i --legacy-peer-deps
再输入npm --version时,还是原来的版本,比较迷惑,但是输入npm install element-plus --save 后,安装成功了!

使用:

使用1:全局引入

在Vue3中导入element-plus,main.js中配置如下,就可以在组件中使用element组件了

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

const app = createApp(App)
app.use(router)
app.use(ElementPlus)
app.mount('#app')
// 或者
// createApp(App).use(router).use(ElementPlus).mount('#app')

使用2:按需导入

 官网中介绍使用:首先你需要安装unplugin-vue-components 和 unplugin-auto-import这两款插件

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

安装上面之后,使用脚手架创建vue3的话,需要在Webpack 的配置文件中进行修改(vue.config.js):

const { defineConfig } = require('@vue/cli-service')
const AutoImport = require('unplugin-auto-import/webpack')
const Components = require('unplugin-vue-components/webpack')
const { ElementPlusResolver } = require('unplugin-vue-components/resolvers')

module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        resolvers: [ElementPlusResolver()],
      }),
    ],
  }
})

之后通过npm run serve运行,出现报错: AutoImport is not a function和  ERROR  TypeError: Components is not a function

因为版本太新,需要回退版本,回退版本有两个方法:

npm install unplugin-auto-import@0.16.1 
npm install unplugin-vue-components@0.25.2

之后npm run serve运行成功。(我在安装的过程中,每个安装命令之后都会出现最上面的报错,需要每次输入npx -p npm@6 npm i --legacy-peer-deps命令才可以进行下去)

使用element过程中如果报错,注意看一下使用的组件中的一些参数有没有在其setup中定义(比如v-model使用的变量)

使用icon库:第一步在main.js中添加:两行代码

import * as ElementPlusIconsVue from '@element-plus/icons-vue'

for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) }

第二步,在要使用图标的组件中添加 import { Search } from '@element-plus/icons-vue' 注意是单引号不是双引号,没有分号结尾,不然会报错,另外,要在setup中return出要使用的图标名。此外,在temple中使用:prefix-icon和:suffix-icon分别在输入框的前后加入图标

<template>
  <--单独使用图标-->
  <el-icon><User /></el-icon>
  <--输入框中使用图标-->
 <el-input :prefix-icon="Search"/>
 <el-input :suffix-icon="Calendar"/>
</template>
<script>
import { Calendar, Search } from '@element-plus/icons-vue'
export default {
  name: 'Login',
  setup () {
    return {
      Search,
      Calendar
    }
  }
}
</script>

效果:

将其中的名字可以用这些代替(https://element-plus.org/zh-CN/component/icon.html

在从github上下载项目运行,在VScode终端中输入npm install时,报错:

像上面一样输入: npx -p npm@6 npm i --legacy-peer-deps之后npm install还是报错,输入:npm install --legacy-peer-deps成功安装

原因:在v7中引入的,目的是绕过peerDependency自动安装;它告诉npm忽略项目中引入的各个modules之间的相同modules但不同版本的问题并继续安装,保证各个引入的依赖之间对自身所使用的不同版本modules共存。

使用element-plus组件,首先需要在项目的main.js文件中引入element-plus库,并注册到Vue应用中。可以使用以下代码实现: import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import App from './App.vue' import './registerServiceWorker' createApp(App).use(ElementPlus).mount('#app') 这段代码会将ElementPlus组件库引入,并注册到Vue实例中,使得我们可以在整个应用中使用ElementPlus组件。 另外,有一个2.2.12版本的本地资源文件可以使用,适用于Vue 3编程。这个资源文件是element-plus-2.2.12,可以用于离线开发和内网使用。如果需要使用这个资源文件,请确保没有侵权问题,可以联系资源提供者删除。 在使用element-plus组件时,可以通过el-icon标签来单独使用图标组件。比如,可以使用以下代码来使用StarFilled和Message两个图标组件: <el-icon color="#ff007f" size="100px"><StarFilled /></el-icon> <el-icon color="#0000ff" size="100px"><Message /></el-icon> 以上是element-plus组件的基本使用方法。通过引入组件库并在Vue应用中注册,然后可以在需要的地方使用相应的组件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Element-Plus使用](https://blog.youkuaiyun.com/weixin_48221105/article/details/128432397)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [element-plus-2.2.12 本地资源文件](https://download.youkuaiyun.com/download/u010867236/86270552)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [element-plus组件库的使用](https://blog.youkuaiyun.com/YZL40514131/article/details/127723290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值