el-dialog 封装成子组件
1.父组件的写法
<upload-dialog :upload-visable.sync="dialogFormVisible"></upload-dialog>
2 子组件的写法;
①父组件传过来的值uploadVisible,子组件:visible.sync 不要直接使用,:visible.sync 重新定义一个变量,用watch 监控去关联两者的关系
如果不暂存,会报 Avoid mutating a prop directly since the value will be overwritten whenever
② @close 这里用:before-close也是可以的,不过用before-close需要写成函数
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <template> <div> <el-dialog title= "发布版本" :visible.sync= "dialogFormVisible" //本地定义的变量 @close= "$emit('update:uploadVisable',false)" center > <el-form ref= "dataForm" label-position= "left" label-width= "90px" style= "width: 100%;" > <el-form-item label= "版本文件" > <el-upload class = "upload-demo" action= "https://jsonplaceholder.typicode.com/posts/" > <el-button size= "small" type= "primary" >点击上传</el-button> <div slot= "tip" class = "el-upload__tip" > Android文件名格式:RSpeedo_android_版本号.apk 例如:RSpeedo_android_0.1.4.apk <br />Windows文件名格式:RSpeedo_pc_版本号.exe 例如:RSpeedo_pc_1.1.7.exe </div> </el-upload> </el-form-item> <el-form-item label= "升级标志" > <el-checkbox v-model= "checked" >强制升级</el-checkbox> </el-form-item> </el-form> <div slot= "footer" class = "dialog-footer" > <el-button @click= "$emit('update:uploadVisable',false)" class = "rc-button__cancel" >取消</el-button> <el-button type= "primary" @click= "dialogStatus==='create'?createData():updateData()" >确认</el-button> </div> </el-dialog> </div> </template> <script> export default { name: '' , props: { uploadVisable: { type: Boolean, default : false } }, data () { return { checked: false , dialogFormVisible: this .uploadVisable //初始化赋值 } }, updated () { console.log( "value5:" , this .dialogFormVisible) }, watch: { uploadVisable (val) { console.log( "watch:" , val) this .dialogFormVisible = val } }, components: {}, methods: { handleBeforeClose () { this .$emit( 'upload-change' ) } } } </script> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)