功能需求
然后我打开dialog层的代码
list.vue 从这里打开 Dialog 1(add.vue)
<el-button type="success" @click="addDialogVisible = true" size="small" icon="el-icon-plus">添加菜单</el-button>
<el-dialog
:visible.sync="addDialogVisible"
center>
<addMenu></addMenu>
</el-dialog>
<script>
import addMenu from './add.vue'
export default {
data() {
return {
addDialogVisible: false
}
},
components: {
addMenu
}
}
</script>
add.vue (Dialog 1)
<el-button class="fl m-l-30" @click="ruleDialogVisible = true">查找</el-button>
<el-dialog
:visible.sync="ruleDialogVisible"
:modal="false"
center>
<ruleList ref="ruleList"></ruleList>
</el-dialog>
<script>
import ruleList from './rule.vue'
export default {
data() {
ruleDialogVisible:false,
}
}
</script>
rule.vue (Dialog 2)
<button>关闭</button>
这样写dialog的话,应该怎么关闭dialog2?
在dialog1中,调用dialog2时将关闭函数通过props传入dialog2
<dialog2 :visible="show" :close="Fun"></dialog2>
Fun(){ this.show = false }
然后在dialog2中调用close方法即可
<button @onclick="()=>{this.props.close()}"></button>
ps: 就是子组件调用父组件的方法关闭自身