前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue项目引入element-ui

vue项目引入element-ui

作者头像
赵哥窟
发布2022-03-23 14:08:52
1.2K0
发布2022-03-23 14:08:52
举报
文章被收录于专栏:日常技术分享
1、安装element-ui
代码语言:javascript
复制
npm i element-ui -S
2、完整引入 Element

在 main.js 中写入以下内容:

代码语言:javascript
复制
import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(ElementUI);

new Vue({
  el: '#app',
  render: h => h(App)
});

以上代码便完成了 Element 的引入。需要注意的是,样式文件需要单独引入。

3、按需引入

借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

首先,安装 babel-plugin-component:

代码语言:javascript
复制
npm install babel-plugin-component -D

然后,将 .babelrc 修改为:

代码语言:javascript
复制
{
  "presets": [["es2015", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

截屏2022-03-01 上午10.43.07.png

4、管理按需引入

为了方便管理,建议在src文件夹下创建element-ui文件夹,并在里面创建index.js文件配置需要的组件。

截屏2022-03-01 上午10.46.13.png

代码语言:javascript
复制
import { Button, Option, Select, Switch, MessageBox, Message } from 'element-ui'
const element = {
  install: function(Vue) {
    Vue.use(Button)
    Vue.use(Switch)
    Vue.use(Select)
    Vue.use(Option)
    // 往vue实例原型里添加消息提示,方便全局调用
    Vue.prototype.$msgbox = MessageBox
    Vue.prototype.$alert = MessageBox.alert
    Vue.prototype.$confirm = MessageBox.confirm
    Vue.prototype.$message = Message
    //使用:this.$message('这是一条消息提示');
  }
}
export default element
5、在 main.js 中引入组件
代码语言:javascript
复制
//element-ui样式引入
import 'element-ui/lib/theme-chalk/index.css'
//element-ui文件夹下
import element from './element-ui/index'
Vue.use(element)
6、测试代码
代码语言:javascript
复制
<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <el-button round @click="showMsgAlert">Button</el-button>
    <el-alert></el-alert>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  },
  methods: {
    showMsgAlert() {
      this.$alert('这是一段内容', 'element-ui Alert', {
        confirmButtonText: '确定',
        cancelButtonText:'取消',
        showCancelButton: true,
        callback: action => {
          this.$message({
            type: 'info',
            message: `action: ${ action }`
          });
        }
      });
    }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h1 {
  font-weight: normal;
}
</style>

截屏2022-03-01 上午10.48.41.png

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022.03.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、安装element-ui
  • 2、完整引入 Element
  • 3、按需引入
  • 4、管理按需引入
  • 5、在 main.js 中引入组件
  • 6、测试代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档