父組件:
<template> <comfirm-charge :is-active="drawerVisible" :userid="userId" :sid="sid" :sname="sname" @Visible="showDrawerChange" @comfirm="resetForm" /> </template> <script> import ComfirmCharge from './confirm-charge-drawer.vue' export default { components: { ComfirmCharge }, data() { return { drawerVisible: false, userId: '', // 用戶id sid: '', sname: '' } }, methods: { showDrawerChange(data) { if (data == 'false') { this.drawerVisible = false } else { this.drawerVisible = true } }, resetForm(fromname) { this.queryParams.pageIndex = 1 this.getTableData() } } } </script>
子組件:
<template> <el-drawer title="信息" :visible.sync="drawerVisible" size="60%" :wrapper-closable="false" @close="closeDrawer"> <div>測試測試</div> </el-drawer> </template> <script> export default { name: 'ComfirmCharge', props: { isActive: { type: Boolean, default: false }, userid: { type: String, default: '' }, sid: { type: String, default: '' }, sname: { type: String, default: '' } }, data() { return { drawerVisible: false, searchFeeForm: { user_Id: '', sid: '', sname: '' } } }, watch: { // 監聽 改變 isActive: { handler: function(val, oldVal) { this.drawerVisible = val }, immediate: true }, userid: { handler: function(newValue, oldVal) { this.searchFeeForm.user_Id = newValue if (newValue) { this.getUserById() } }, immediate: true }, sid: { handler: function(newValue, oldVal) { this.searchFeeForm.sid = newValue }, immediate: true }, sname: { handler: function(newValue, oldVal) { this.searchFeeForm.sname = newValue }, immediate: true } }, methods: { // 獲取用戶信息 getUserById() { }, // 關閉抽屜,清除數據 closeDrawer() { this.drawerVisible = false this.$emit('Visible', 'false') } } } </script>