美文网首页vuealreadyvue
vue项目引入element-ui

vue项目引入element-ui

作者: 赵哥窟 | 来源:发表于2022-03-01 10:50 被阅读0次
    1、安装element-ui
    npm i element-ui -S
    
    2、完整引入 Element

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

    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:

    npm install babel-plugin-component -D
    

    然后,将 .babelrc 修改为:

    {
      "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
    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 中引入组件
    //element-ui样式引入
    import 'element-ui/lib/theme-chalk/index.css'
    //element-ui文件夹下
    import element from './element-ui/index'
    Vue.use(element)
    
    6、测试代码
    <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

    相关文章

      网友评论

        本文标题:vue项目引入element-ui

        本文链接:https://www.haomeiwen.com/subject/njedrrtx.html