Vue3 element plus el-dialog (对话框)
首先得是 Vue3项目 并已经引入 element plus
引入 element plus 方法:https://www.cnblogs.com/hailexuexi/p/17730724.html
效果图
这个对话框代码 和 头部 菜单 都在 一个 HeaderComponent.vue 文件中 ,当然也可以在两个vue文件。
HeaderComponent.vue 关键代码
<template> <header class="flexC Huans fl-bet"> <a href="javascript:;" class="HdLog"><img src="../assets/images/icon/logo_cn.png"></a> <ul class="HdNav Huans flex"> <li> <a href="javascript:;" class="HdNava flexC fl-cen" @click="openDialog()" ><i class="HdNavI HdNavI10"></i><p>配置</p></a> <div class="HdNavC Huans"> <a href="javascript:;" class="HdNavCa Huans">添加到更多</a> <a href="javascript:;" class="HdNavCa Huans">后移</a> </div> </li> </ul> </header> <!-- 对话框 --> <el-dialog v-model="dialogVisible" title="配置参数" width="40%" :before-close="handleClose"> <el-form :model="form"> <el-form-item label="分机号" :label-width="formLabelWidth"> <el-input v-model="this.globalData.currentUserTel" autocomplete="off"></el-input> </el-form-item> <el-form-item label="Ip地址" :label-width="formLabelWidth"> <el-input v-model="this.ip_address" autocomplete="off"></el-input> </el-form-item> </el-form> <template #footer> <span class="dialog-footer"> <el-button @click="dialogVisible = false">取 消</el-button> <el-button type="primary" @click="dialogVisible = false">保 存</el-button> </span> </template> </el-dialog> </template>
@click="openDialog()" 为弹出对话框方法
this.globalData.currentUserTel 为全局变量
this.ip_address 为页面级变量
<script> // 在子组件中注入全局对象 import { ref,inject, watch } from 'vue'; export default { // 组件名称 name: 'HeaderComponent', data() { return { dialogVisible: false, ip_address:"192.168.1.1" } }, setup (props,{emit}) { // 注入全局对象 const globalData = inject('globalData'); watch(() => globalData.currentUserTel, (newValue) => { // 更新自己的状态 globalData.currentUserTel=newValue; console.log("HeaderComponent watch "+newValue); }) return { globalData }; }, mounted() { //console.log("HeaderComponent "+ this.globalData.websockOpenPng); }, methods: { openDialog(){ console.log("openDialog====="); this.dialogVisible = true; }, } } </script>
分类:
Vue3
, Element Plus
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)