之前在做elementui的项目,一些新增,编辑,删除等操作后,需要刷新当前页面或者表格,看官方文档没找到合适的方法,之前是直接重新再调一遍后台接口进行数据的刷新,今天发现一个不错的方法,来记录一下
App.vue
中配置入下
<template>
<div id="app">
<router-view v-if="isRouterAlive"></router-view>
</div>
</template>
<script> export default { name: 'App', provide(){ return { reload: this.reload } }, data(){ return { isRouterAlive:true } }, methods:{ reload(){ this.isRouterAlive=false this.$nextTick(()=>this.isRouterAlive=true) } }, } </script>
需要使用的页面中调用如下
export default { inject:['reload'], components:{ AddEditDialog }, data() {
return {
} } }
//删除
del(){ if(this.currentRow.id!==undefined){ const data = { id: this.currentRow.id } this.$store.dispatch('deleteEnterprise',data) const data1 = { keyWord:'' } setTimeout(()=>{this.$store.dispatch('getEnterpriseList',data1)},500)//表格重载
}else{ this.$store.dispatch('ShowMsg',{value:'请选中删除对象',type:'error'}) this.reload() } },
在使用的页面中 this.reload()直接调用即可
原文链接地址:https://blog.csdn.net/weixin_41127584/article/details/102569411