首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制刷新子组件上的VueTable2

强制刷新子组件上的VueTable2
EN

Stack Overflow用户
提问于 2019-04-15 22:23:33
回答 1查看 517关注 0票数 1

我有一个customer组件,里面有一个带有vuetable 2的子组件,当我在父组件上更新或创建新的customer时,我需要做的就是刷新表。

我希望在parent上使用$emit:

代码语言:javascript
复制
this.$emit('CustomerInform');

在vuetable2组件中:

代码语言:javascript
复制
this.$on('CustomerInform', () => {
   this.$refs.CustomersTable.refresh();
});

当表在我使用"$refs.CustomersTable.refresh()“进行POST/PUT的相同组件中时,一切都工作得很好……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-15 22:50:13

一种方法是将子组件上的ref放在父组件中:

代码语言:javascript
复制
<customers-table ref="table" />

然后,您将可以访问它在父级中的方法和属性,因此您可以简单地执行以下操作:

代码语言:javascript
复制
this.$refs.table.$refs.CustomersTable.refresh()

另一种方法是使用全局event bus

EventBus.js:

代码语言:javascript
复制
import Vue from 'vue';
export const EventBus = new Vue();

父级:

代码语言:javascript
复制
import { EventBus } from EventBus

// ...

EventBus.$emit('CustomerInform')

孩子:

代码语言:javascript
复制
import { EventBus } from EventBus

// ...

created () {
     EventBus.$on('CustomerInform', () => {
        this.$refs.CustomersTable.refresh();
     });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55691329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档