父组件:
引入、注册、使用子组件
import Edit from './edit' components: { Edit }, <edit ref="edit"></edit>
代码如下:
let thatexport default {
name: 'index',
components: { Pagination, Edit },
data() {
return {
},
created(){
this.getList()
that = this
},
methods: {
getList() {
this.listLoading = true
user.getList(this.listQuery).then(response => {if (response.success) {
this.list = response.data
this.total = response.total
} else {
this.$message.error('用户信息获取失败')
}
}).catch(error => {
console.error(error)
}).finally(() => {
this.listLoading = false
})
},
returnMessage() {
this.getList()
},
},
provide() {
return {
returnMessage: this.returnMessage // 注意:this.returnMessage后不能加括号,否则报错
}
}
}
子组件:
export default {
name: '',
inject: ['returnMessage'],
data() {return {
}
},
methods: {
saveInfo() {
this.$refs['form'].validate((valid) => {
if (valid) {
this.saveLoading = true
if (this.dialogStatus == 0) {
let data = Object.assign({},this.form)
user.createUser(data).then(response => {
console.log(response)
if (response.success) {
this.$message.success(response.msg)
this.dialogFormVisible = false
} else {
this.$message.error(response.msg)
}
}).catch(error => {
this.$message.error('抱歉,添加失败')
console.log(error)
}).finally(() => {
this.dialogFormVisible = false
this.saveLoading = false
this.returnMessage()
})
} else {
this.form.password = null
user.updateUser(this.form).then(response => {
console.log(response)
if (response.success) {
this.$message.success(response.msg)
this.dialogFormVisible = false
this.returnMessage()
} else {
this.$message.error(response.msg)
}
}).catch(error => {
this.$message.error('抱歉,修改失败')
// console.log(error)
}).finally(() => {
this.dialogFormVisible = false
this.saveLoading = false
})
}
}
})
},
}