vue3.0 使用element-plus 按需自动导入

一、element-plus 安装


npm install element-plus --save

// 按需自动导入
npm install -D unplugin-vue-components unplugin-auto-import

二、vue.config.js 配置

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

module.exports = {
    publicPath:'./',
    configureWebpack: {
        // ...
        plugins: [
            AutoImport({
                resolvers: [ElementPlusResolver()],
            }),
            Components({
                resolvers: [ElementPlusResolver()],
            }),
        ],
    }
}

三、Icon的使用

1. 安装(第一种方式)

npm install @element-plus/icons

2. 全局注册 (新建svgicon.js文件)

import * as components from "@element-plus/icons";
export default {
    install: (app) => {
        console.log(app.component)
        for (const key in components) {
            const componentConfig = components[key];
            app.component(componentConfig.name, componentConfig);
        }
    },
};

3. main.js中引入

import elementIcon from "./plugins/svgicon";

createApp(App).use(elementIcon).mount("#app");

4. 项目中使用

 <el-icon class="expand" ><expand/></el-icon>

5. 第二种方式(注册组件 新建 Icon.vue)

<template>
  <el-icon :size="size" :color="color">
    <component :is="name"></component>
  </el-icon>
</template>

<script>
import { defineComponent } from "vue";
import * as Icons from "@element-plus/icons";

export default defineComponent({
  components: Icons,
  name: "ElIcons",
  props: {
    name: {
      type: String,
      required: true,
    },
    size: {
      type: String,
      default: "",
    },
    color: {
      type: String,
      default: "",
    },
  },
});
</script>

6. 项目中使用

<template>
 	<el-icons name="Close" size="20" />
</template>

<script setup>
import elIcons from '../components/Icon.vue'
</script>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值