这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 如何优雅的基于 element-plus,封装一个梦中情 dialog 优点 摆脱繁琐的 visible 的命名,以及反复的重复 dom。 想法 将 dialog 封装成一个函数就能唤起的组件。如下: addDialog({ title:
一、利用一个小时简单二次封装了element-plus的弹框el-dialog,根据项目需求主要增加了最小化、最小化icon、弹出位置、 title字体色、header背景色、关闭图标色。 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3...
因为ElementuiPlus的dialog弹框的初始样式不太好看,而公司要求又要好看,本来是已经实现了,但是后来想想了发现封装完dialog的其他功能也要,所以特此记录一下 方案一 思路:封装一个组件,将所有新增的参数引入el-dialog 参数中,实现参数共用 新建一个组件,将官网暴露的属性全部引用了 mAIn.JS import { createApp } fro...
新写的dialog,在子组件里 <el-dialog v-model="showChildView" :before-close="closeHandle" width="calc(100vw-200px)" class="show_file_dialog" :title="props.name" :space="space" align-center destroy-on-close :append-to-body="false" > 新子组件里有watch,是这个更新影响了吗,可是文件才会触发...
在对公司旧项目升级的时候,有一些vue2的代码对使用全局弹窗是通过this.$dialog(xxx)这种方式进行使用,那么今天我就介绍一些二次封装element-plus的dialog。不废话直接上代码。 src/components/Dialog/index.js importDialogfrom"./Dialog.vue";import{h,render}from"vue";letcreateMount=(opts)=>{constmountNode=docu...
基于el-dialog 进行初步封装 // index.tsimport{ reactive }from"vue"typedialogOptions = {title:stringcomponent:anyprops?:Objectwidth:stringvisible?:anycallBack?:Function}exportconstdialogList: dialogOptions[] =reactive([])exportconstaddDialog= (options: dialogOptions) => { ...
class="dialog__footer"> <el-button @click="closeDialog">取消</el-button> <el-button type="primary" @click="handleConfirm">提交</el-button> </div> </slot> </el-dialog> </div> </template> <script setup lang="tsx" name="BaseDialog"> import { ref, reactive, onMounted, defineEmits...
import { ElFormItem, ElInput, ElDialog } from 'element-plus' const props = defineProps({ dialogVisible: { type: Boolean, default: () => false }, }) var dialogVisibleOn = ref() var form = reactive({ ticketIndex: "" }) watch( ...
el-dialog子组件的封装 baseDialog.vue 其他组件的调用 注意事项 总结 基于element-plus的二次封装数据双向绑定 前言 在实际开发中,经常需要基于element-plus封装一些自己的定制化组件,方便快速构建我们当前的业务。在vue2.0中父子组件数据的双向绑定通常都是通过在props中传值:value.sync,在子组件中使用,this.$emit(“...
<script setup lang="ts">import{reactive,watch,ref}from'vue'import{ElFormItem,ElInput,ElDialog}from'element-plus'constprops=defineProps({dialogVisible:{type:Boolean,default:()=>false},})vardialogVisibleOn=ref()varform=reactive({ticketIndex:""})watch(()=>props?.dialogVisible,async(val)=>{...