vue element-UI dialog作为子组件,怎么在父组件里控制dialog的显示与隐藏
// 父组件
<Dialog :show="show" @close="show = false" />
// 子组件
<template>
<div>
<el-dialog title="提示" :visible.sync="show" width="30%" :before-close="handleClose">
<span>这是一段信息</span>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose">取 消</el-button>
<el-button type="primary" @click="handleClose">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
props: {
show: {
type: Boolean,
default: false
}
},
methods: {
handleClose() {
this.$emit('close')
}
}
}
</script>
// 父组件
<dialog-apply :visible.sync="dialogApplyVisible" />
// 子组件
<el-dialog
:visible.sync="visible"
title="申请"
:before-close="onClose"
>
onClose() {
this.$emit('update:visible', false)
}
// 父组件
<dialog-apply :visible.sync="dialogApplyVisible" @close='dialogApplyVisible = false' />
// 子组件
<el-dialog
:visible.sync="visible"
title="申请"
:before-close="onClose"
>
onClose() {
this.$emit('close')
}
使用watch
....
<el-dialog title="提示" :visible.sync="visible" width="30%" :before-close="handleClose">
.....
props: {
show: {
type: Boolean,
default: false
}
},
data() {
return {
visible: false
}
},
watch: {
show: {
handler(val) {
this.visible = val
},
immediate: true
}
},
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探