vue3中使用elementui组件
vue3出来好一段时间了,一直想着用一下,今日集成elementui使用一下
首先创建一个vue3的基础项目 执行以下命令
npm init @vitejs/app vue3Projece -- --template react
出现如图所示的选择,按上下键选择 vue 按回车就可创建一个vue3的项目
然后用编辑工具打开项目,这里演示用vsCode
集成elementUi环境 element兼容vue3的时候换成 element-plus 执行 npm install element-plus --save
目前组件还是测试版 在main.js中集成组件 vue3换了写法,编译也换成了 vite,不得不说vite的编译速度远远超过了webpack
import { createApp } from 'vue'
import App from './App.vue'
import ElementPlus from 'element-plus';
import 'element-plus/lib/theme-chalk/index.css';
const app = createApp(App)
app.use(ElementPlus)
app.mount('#app')
在Vue项目文件中使用 这里直接上代码 注意 这里使用的时候把script的setup去掉要不然vue会报错提示找不到属性 至于什么时候加setup 目前我也不太清楚
<template><div><el-row><el-button @click="open1">打开通知</el-button><el-button type="primary" @click="state.dialogVisible = true">弹框</el-button><el-button type="success" @click="open2">打开对话框</el-button><el-button type="info" @click="open3">通知消息</el-button><el-button type="warning">警告按钮</el-button><el-button type="danger">危险按钮</el-button>
</el-row>
<el-dropdown><span class="el-dropdown-link">下拉菜单<i class="el-icon-arrow-down el-icon--right"></i></span><template #dropdown><el-dropdown-menu><el-dropdown-item>黄金糕</el-dropdown-item><el-dropdown-item>狮子头</el-dropdown-item><el-dropdown-item>螺蛳粉</el-dropdown-item><el-dropdown-item disabled>双皮奶</el-dropdown-item><el-dropdown-item divided>蚵仔煎</el-dropdown-item></el-dropdown-menu></template>
</el-dropdown>
<el-dialogtitle="提示"v-model="state.dialogVisible"width="30%":before-close="handleClose"><span>这是一段信息</span><template #footer><span class="dialog-footer"><el-button @click="state.dialogVisible = false">取 消</el-button><el-button type="primary" @click="state.dialogVisible = false">确 定</el-button></span></template>
</el-dialog></div>
</template><script>
import { defineComponent, reactive} from 'vue';
import { ElMessage,ElMessageBox,ElNotification} from 'element-plus'export default defineComponent({setup() { // setup钩子函数// 使用响应式函数reactive构建proxy响应式对象stateconst state = reactive({msg: '时光',dialogVisible:false})console.log(state); // state对象是一个proxy拦截对象let info = 'hello'; // info是一个普通对象,修改后不会被proxy拦截,进而页面也不会动态更新const changeMsg = () => { // 在外边定义methodsstate.msg = '时光,你好'info = 'hello,你好'}let open1=() =>{ElMessage({message: '恭喜你,这是一条成功消息',type: 'success'})}let open2=() =>{ElMessageBox.alert('这是一段内容', '标题名称', {confirmButtonText: '确定',callback: action => {this.$message({type: 'info',message: `action: ${ action }`});}})}let open3=() =>{ElNotification({title: '标题名称',message: '这是提示文案'})}return { // 使用时,要把对象return出去,才能在template中使用state,info,changeMsg,open1,open2,open3}}
})
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;color: #2c3e50;margin-top: 60px;
}
</style>
来几张效果图
目前来说 组件兼容的时候使用的地方改变不大,也就是提示框的弹出,表单验证的获取,部分弹框的绑定上做了改变,vue3使用的时候,定义参数和方法的地方也改变了,直接在 defineComponent 的setup函数里面定义并返回。
vue3中使用elementui组件相关推荐
- 在uniapp中使用element-ui组件
在uniapp中使用element-ui组件 一.安装依赖 npm i element-ui -S //安装依赖 二.在根目录下新建一个element文件,写一个index.js文件,实现按需导入,会 ...
- Vue第二章,在项目中使用element-ui组件
使用vue的童鞋相信都知道vue中有很多ui组件,这里推荐使用element-ui组件(个人测试还算强大,起码开发商野心不小),因为此组件可以集成到angular.react.vue任意一个框架中. ...
- Webpack的代码分包Vue3中定义异步组件分包refs的使用
一.默认的打包过程: 默认情况下,在构建整个组件树的过程中,因为组件和组件之间是通过模块化直接依赖的,那么webpack在打包时就会将组件模块打包到一起(比如一个app.js文件中): 这个时候随着项 ...
- Mars3d的html 模板中使用element-ui 组件参考
首先重点是:不能直接用,需要使用webcomponent,基础项目里面有个demo可以参考 以下是开发聊天记录:(供参考) SHMILY 10-13 10:30:59 大佬们这个层没办法定义成一 ...
- Vue3中 内置组件 Teleport 详解
1. 基本概念 1.1 简单理解 不管是 Vue2 还是 Vue3 中都有内置组件的存在,如 component 内置组件.transition 内置组件等等.内置组件就是官方给我们封装的全局组件,我 ...
- vue3中添加elementui插件
cnpm install element-plus --save 在项目中的src目录先的main.js中添加下面两行代码 进行项目的导入 // 引入element-plus 插件 import El ...
- 解决 Vue 中的Element-ui 组件el-checkbox动态赋值点击没反应问题
<el-checkbox :value="form.test=== '1'" @change="val => $set(form,'test',val ? ' ...
- html c 中messagebox,Element-Ui组件 MessageBox 弹框
基础用法 消息提示弹框 ``` 点击打开 Message Boxexportdefault{ methods: { open() {this.$alert('这是一段内容','标题名称 ...
- vue全局安装jquery,vue使用bootstrap框架,vue中封装websocket通讯,vue引入element-ui 组件库,引入highcharts图表插件
vue安装jquery: 1.使用vue-cli创建好vue项目后,在项目文件夹下,使用命令npm install jquery --save-dev 引入jquery. 2.修改项目文件 build ...
最新文章
- 用随机游动生成时间序列的合成数据
- WinSCP远程访问linux服务器和编辑文件
- CABasicAnimation x y z 轴旋转动画
- 一个员工的离职成本有多恐怖!
- Maven(2)--- 环境配置
- .NET Core 3.0 RC1 发布,最终版本将于下周发布
- 站群服务器和虚拟主机的区别,WordPress虚拟主机与站群服务器之间有什么关系 - WordPress 多站点站群...
- Android 四大组件学习之Activity一
- java UCI,UCI数据集
- 帆软报表嵌入python程序_C#教程之C#服务器端生成报告文档:使用帆软报表
- 最新泛微java面试题及答案
- 《机械设计基础》题库
- 神经网络物联网未来发展趋势怎么样
- linux下如何关闭端口占用,Linux端口被占用? -- Linux查看端口使用状态、关闭端口方法...
- 实战:Longhorn存储-2022.2.24
- 【漏洞扫描与复现】Kali之Metasploit渗透测试
- Python小白的数学建模课-19.网络流优化问题
- 世纪佳缘发布婚恋观报告 “90”后和高学历人群更焦虑
- htmlVideo禁止拖动进度条禁止快进
- 微信t服务器地址,微信地址怎么改?教你如何修改微信地址
热门文章
- 开源Api后台服务/管理系统 HoServer
- 学临床专业和计算机哪个好,大学里“炙手可热”的专业,未来10年也不会被淘汰,发展前景更好...
- 什么是gnuplot
- 百度谷歌一起搜 - 百Google度 - Chrome插件2
- 老鹰主机怎么样_HawkHost老鹰主机香港机房速度怎么样?
- 如何选择适合你的兴趣爱好(二十二),羽毛球
- 2019年,把时间分给靠谱的人和事!(三月复盘)
- wechat-0010,微信公众号,接入微信公众平台
- Qt:一个简洁漂亮的高仿网易云播放器
- js高级面试题总结(es6)