【vue】将el-dialog 封装为一个组件2
描述
点击父组件《立即购买》按钮,弹窗显示企业列表,点击弹窗的《关闭》按钮关闭弹窗
知识点
计算属性,set,get,父子组件通信,
子组件
<template> <div class="select-en-container"> <el-dialog title="title" :visible.sync="isShow" :show-close="true" :before-close="handleCancel" :close-on-click-modal="false" width="800px" custom-class="getEnterprise-box-dialog" > XXXXXXX <div slot="footer" class="dis-flex flex-justify-end"> <div slot="footer" class="dis-flex flex-justify-end"> <el-button class="dialog-footer-cancel" @click.native="handleCancel">取消</el-button> <button class="dialog-footer-confirmed theme-bg-h-hover" type="primary" v-debounce @click="handleSelectEnterpriseSure" > 确定 </button> </div> </div> </el-dialog> </div> </template> <script> export default { name: 'selectEnterprise', data() { return { } }, props: { itemData: { type: Object, default() { return {}; }, }, isVisibleDialog: { type: Boolean, default() { return false; }, }, from: { type: String, default() { return 'XX'; }, }, title: { type: String, default() { return ''; }, }, }, computed: { isShow: { get(){ return this.isVisibleDialog }, set(v){ this.isVisibleDialog = v; } }, }, watch: { isVisibleDialog(){ if(this.isVisibleDialog){ this.getData(); } } }, methods: { //企业列表 getData() { XXXX }, handleCancel(){ this.$parent.selectEn.isVisibleDialog = false; }, handleSelectEnterpriseSure(){ this.$parsent.selectEn.isVisibleDialog = false; }, }, }; </script>
父组件
<template> <div class="buy-btn" @click="handleBuyDialog">立即购买</div> <div class="father-container"> <select-enterprise title="选择企业" from="buy" :isVisibleDialog="selectEn.isVisibleDialog" :item-data="data" /> </div> </template> <script> export default { name: "", data() { return { selectEn { isVisibleDialog: false, }, data: [] } }, created() { }, mounted() { }, methods: { handleBuyDialog(){ this.selectEn.isVisibleDialog = true; }, }, }; </script>
作者:smile.轉角
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
欢迎关注我,一起进步!扫描下方二维码即可加我QQ

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2019-07-01 【weixin】微信支付简介