element-plus 一个vue3.xUI框架 (element-ui的3.x 版初体验)

element-plus 一个vue3.xUI框架 (element-ui的3.x 版初体验)突然发现已经半年没更新的element-ui更新了更新了什么还不清楚,但是告知了基于vue3.x版本的element-plus已经出来了。先来上手体验一下首先安装一个最新的@vue-cli,搭建一个vue3.x的项目,脚手架创建流程已经很简洁了,这里就不多说了。建好之后,直接开始安装吧npmielement-plus为了方便,直接采取全部引入的方式src/plugins/element.tsimportElementPlusfrom’element-plus’impor

大家好,又见面了,我是你们的朋友全栈君。

官方文档已更新: 点击跳转

突然发现已经半年没更新的element-ui更新了
在这里插入图片描述
更新了什么还不清楚,但是告知了基于vue3.x版本的 element-plus 已经出来了。
在这里插入图片描述
先来上手体验一下
首先安装一个最新的@vue-cli,搭建一个vue3.x的项目,脚手架创建流程已经很简洁了,这里就不多说了。建好之后,直接开始安装吧

npm i element-plus 

为了方便,直接采取全部引入的方式

src/plugins/element.ts

import ElementPlus from 'element-plus'
import 'element-plus/lib/theme-chalk/index.css'

export default (app: any) => { 
   
  app.use(ElementPlus)
}

src/main.ts

import router from './router'
import store from './store'
import App from './App.vue'
import { 
    createApp } from 'vue'
import installElementPlus from './plugins/element'
const app = createApp(App)
installElementPlus(app)
app.use(store).use(router).mount('#app')

在页面中加一个按钮

<el-button type="primary">el-button</el-button>

在这里插入图片描述
在新版的vue3.x版本中还保留了原有的生命周期函数

created(){ 
   
  this.$message("message")
},

在这里插入图片描述
打印了一下this
在这里插入图片描述

更新补充:

element-plus按需引入

src/plugins/element.ts

import { 
    Button, Message } from 'element-plus'

export default (app) => { 
   
  app.use(Button)
  app.use(Message)
}

babel.config.js

module.exports = { 
   
  "presets": [
    "@vue/cli-plugin-babel/preset"
  ],
  "plugins": [
    [
      "component",
      { 
   
        "libraryName": "element-plus",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

在vue3.0 setup中使用

import { 
    setup } from 'vue-class-component'
import { 
    getCurrentInstance } from 'vue'
export default { 
   
  name: 'App',
  components: { 
   

  },
  setup(e){ 
   
    const { 
   ctx} = getCurrentInstance()
    ctx.$message("mesage")
  }
}

更新:ctx 打包之后无法调用$message,可以使用proxy

import { 
    getCurrentInstance } from 'vue'
export default { 
   
  name: 'App',
  components: { 
   

  },
  setup(){ 
   
    const { 
   proxy} = getCurrentInstance()
    proxy.$message("mesage")
  }
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141902.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号