父组件:
引入、注册、使用子组件
import Edit from './edit' components: { Edit }, <edit ref="edit"></edit>
代码如下:
let that
export 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 }) } } }) }, }