有时,vue中的组件封装的太深,会导致表单新增成功后,
通过 this.$emit(‘reloadUser’) 刷新父组件难以操作。所以使用vue中的 provide / inject 组合 方式

1.在父组件中将要刷新的组件(一般是table 区域组件)用 keep-alive 包裹起来

<keep-alive v-if="isRouterAlive">
	<MyTable/>
 </keep-alive>

2.在父组件中 写 provide 和 isRouterAlive: true

在这里插入图片描述
在这里插入图片描述

3.接着在父组件的 方法中

在这里插入图片描述

4.在父组件的任意一个子组件中 注入

**加粗样式

5.当子组件新增或修改完后 ,直接调用子组件中注入的 reload 即可

在这里插入图片描述
在这里插入图片描述
如此,便可实现无闪烁刷新子组件

Logo

前往低代码交流专区

更多推荐