需求
render函数里的子组件在点击onclick提交方法之后,调用父组件里已经定义的刷新功能
实现
father.vue 里面的render函数,pros传参,on 监听 refresh() 方法,然后调用 method 里的 refresh() 方法
render: (h, params) => {
return h(NodeLabel2, {
// attrs: {
// style: 'margin-left:30px'
// },
props: {
label: params.row.label,
index: params.row.index,
data: params.row,
type: 'label'
},
on: {
refresh: () => {
this.refresh()
}
}
})
}
child.vue 使用this.$emit(‘父组件方法名称’,‘需要给父组件传的值’)
this.$emit('refresh')
例如:
submitSetLabel () {
api.updateNode2(this.data.id, this.editForm).then(reuslt => {
this.editLabelModalVisible = false
this.$Message.success('保存成功')
}).catch(err => {
console.log('err: ', err)
this.$Message.error('保存失败')
this.editLabelModalVisible = false
}).finally(() => {
this.$emit('refresh')
})
}