首页 > 其他分享 >vue集成elementUI

vue集成elementUI

时间:2022-08-25 13:56:01浏览次数:61  
标签:集成 use vue elementUI MessageBox Vue ui import prototype

vue集成elementUI

1.使用npm 安装element ui 模块:

指令:npm/cnpm install element-ui –S

2.安装按需引入的插件:

指令:npm install babel-plugin-component -D

3.设置.babelrc文件

{
  "presets": [
    ["env", {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
  "plugins": ["transform-vue-jsx", 
  "transform-runtime",
  [

    "component",

    {

      "libraryName": "element-ui",

      "styleLibraryName": "theme-chalk"

    }

]
]
}

4.在main.js中按需引入

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import {
  Pagination,
  Dialog,
  Autocomplete,
  Dropdown,
  DropdownMenu,
  DropdownItem,
  Menu,
  Submenu,
  MenuItem,
  MenuItemGroup,
  Input,
  InputNumber,
  Radio,
  RadioGroup,
  RadioButton,
  Checkbox,
  CheckboxButton,
  CheckboxGroup,
  Switch,
  Select,
  Option,
  OptionGroup,
  Button,
  ButtonGroup,
  Table,
  TableColumn,
  DatePicker,
  TimeSelect,
  TimePicker,
  Popover,
  Tooltip,
  Breadcrumb,
  BreadcrumbItem,
  Form,
  FormItem,
  Tabs,
  TabPane,
  Tag,
  Tree,
  Alert,
  Slider,
  Icon,
  Row,
  Col,
  Upload,
  Progress,
  Spinner,
  Badge,
  Card,
  Rate,
  Steps,
  Step,
  Carousel,
  CarouselItem,
  Collapse,
  CollapseItem,
  Cascader,
  ColorPicker,
  Transfer,
  Container,
  Header,
  Aside,
  Main,
  Footer,
  Timeline,
  TimelineItem,
  Link,
  Divider,
  Image,
  Calendar,
  Backtop,
  PageHeader,
  CascaderPanel,
  Loading,
  MessageBox,
  Message,
  Notification
} from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(Pagination);
Vue.use(Dialog);
Vue.use(Autocomplete);
Vue.use(Dropdown);
Vue.use(DropdownMenu);
Vue.use(DropdownItem);
Vue.use(Menu);
Vue.use(Submenu);
Vue.use(MenuItem);
Vue.use(MenuItemGroup);
Vue.use(Input);
Vue.use(InputNumber);
Vue.use(Radio);
Vue.use(RadioGroup);
Vue.use(RadioButton);
Vue.use(Checkbox);
Vue.use(CheckboxButton);
Vue.use(CheckboxGroup);
Vue.use(Switch);
Vue.use(Select);
Vue.use(Option);
Vue.use(OptionGroup);
Vue.use(Button);
Vue.use(ButtonGroup);
Vue.use(Table);
Vue.use(TableColumn);
Vue.use(DatePicker);
Vue.use(TimeSelect);
Vue.use(TimePicker);
Vue.use(Popover);
Vue.use(Tooltip);
Vue.use(Breadcrumb);
Vue.use(BreadcrumbItem);
Vue.use(Form);
Vue.use(FormItem);
Vue.use(Tabs);
Vue.use(TabPane);
Vue.use(Tag);
Vue.use(Tree);
Vue.use(Alert);
Vue.use(Slider);
Vue.use(Icon);
Vue.use(Row);
Vue.use(Col);
Vue.use(Upload);
Vue.use(Progress);
Vue.use(Spinner);
Vue.use(Badge);
Vue.use(Card);
Vue.use(Rate);
Vue.use(Steps);
Vue.use(Step);
Vue.use(Carousel);
Vue.use(CarouselItem);
Vue.use(Collapse);
Vue.use(CollapseItem);
Vue.use(Cascader);
Vue.use(ColorPicker);
Vue.use(Transfer);
Vue.use(Container);
Vue.use(Header);
Vue.use(Aside);
Vue.use(Main);
Vue.use(Footer);
Vue.use(Timeline);
Vue.use(TimelineItem);
Vue.use(Link);
Vue.use(Divider);
Vue.use(Image);
Vue.use(Calendar);
Vue.use(Backtop);
Vue.use(PageHeader);
Vue.use(CascaderPanel);

Vue.use(Loading.directive);

Vue.prototype.$loading = Loading.service;
Vue.prototype.$msgbox = MessageBox;
Vue.prototype.$alert = MessageBox.alert;
Vue.prototype.$confirm = MessageBox.confirm;
Vue.prototype.$prompt = MessageBox.prompt;
Vue.prototype.$notify = Notification;
Vue.prototype.$message = Message;

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

标签:集成,use,vue,elementUI,MessageBox,Vue,ui,import,prototype
From: https://www.cnblogs.com/WangJingjun/p/16624053.html

相关文章

  • 系统集成项目管理工程师-进度管理
    一、缩短活动工期的方法  1.关键活动的调整(快速跟进);  2.非关键活动的调整;  3.投入更多的资源以加速活动进程(赶工);  4.指派经验更丰富的人去完成或帮助完成......
  • vue 安装插件 eslint检测警告
    npm安装报错npmERR!codeERESOLVEnpmERR!ERESOLVEcouldnotresolvenpmERR!npmERR!问题原因安装的包与已经存在的包有冲突解决办法npminstallxxx--fo......
  • Vue项目创建(完整步骤级版本查看)
    涉及软件版本:Nodev14.17.0;npm6.14.13;vue3.2.13;@vue/cli5.0.8一:安装node、npm1.检查Node,未安装【https://nodejs.org/en/】访问网址下载最新版安装2.检查......
  • vue中element-ui table滚动加载
    //1.在main.js里注册 Vue.directive('loadmore', { bind(el, binding) { const selectWrap = el.querySelector('.el-table__body-wrapper') selectWrap.ad......
  • vue3 vuex4 store的响应式取值
    场景:在页面中点击按钮,数量增加,值是存在store中的,点击事件,值没变。<scriptsetuplang="ts">import{useStore}from'@/vuex';conststore=useStore()constonSu......
  • vue使用rem (手机端PC端通用)
    只有PC端时main.js newVue({ router, store, render:h=>h(App),created(){//实例创建完成后被立即调用rem换算方法,解决内容闪现问题......
  • VUE 基础知识总结
    VUE的介绍VUE的导包<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title><!--开发环境版本--><scriptsrc="https://cdn.jsdel......
  • 规范:数据埋点集成使用说明
    1.获取和引入 TrackLogData SDK1.1.异步方式(推荐)引入场景:通常情况下使用。1.1.1.本地手动指定sdk版本(vue SPA项目)最新版本: //sa.a5.petrochina/stats/tld.glob......
  • vue文件夹上传控件选哪个好?
    ​需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制。 第一步:......
  • Vue3中defineEmits、defineProps 是怎么做到不用引入就能直接用的
      最近正在将一个使用单文件组件的OptionsAPI的Vue2JavaScript项目升级为Vue3typescript,并利用CompositionAPI的优势。比如,下面这种 选项API 方式:......