在子组件上强制刷新 VueTable2
Force refresh of VueTable2 on child component
我有一个客户组件,里面有一个带有vue的子组件table 2.我需要做的是在更新或创建时刷新table父组件上的新客户。
我想在父项上使用 $emit:
this.$emit('CustomerInform');
在vue中table2个组件:
this.$on('CustomerInform', () => {
this.$refs.CustomersTable.refresh();
});
当 table 与我使用“$refs.CustomersTable.refresh()”制作 POST/PUT 的同一个组件时,一切正常...
一种方法是在 parent:
内的 child 组件上放置一个 ref
<customers-table ref="table" />
然后,您将可以访问其在 parent 中的方法和属性,因此您可以简单地执行以下操作:
this.$refs.table.$refs.CustomersTable.refresh()
另一种方法是使用全局 event bus.
EventBus.js:
import Vue from 'vue';
export const EventBus = new Vue();
Parent:
import { EventBus } from EventBus
// ...
EventBus.$emit('CustomerInform')
Child:
import { EventBus } from EventBus
// ...
created () {
EventBus.$on('CustomerInform', () => {
this.$refs.CustomersTable.refresh();
});
}
我有一个客户组件,里面有一个带有vue的子组件table 2.我需要做的是在更新或创建时刷新table父组件上的新客户。
我想在父项上使用 $emit:
this.$emit('CustomerInform');
在vue中table2个组件:
this.$on('CustomerInform', () => {
this.$refs.CustomersTable.refresh();
});
当 table 与我使用“$refs.CustomersTable.refresh()”制作 POST/PUT 的同一个组件时,一切正常...
一种方法是在 parent:
内的 child 组件上放置一个 ref<customers-table ref="table" />
然后,您将可以访问其在 parent 中的方法和属性,因此您可以简单地执行以下操作:
this.$refs.table.$refs.CustomersTable.refresh()
另一种方法是使用全局 event bus.
EventBus.js:
import Vue from 'vue';
export const EventBus = new Vue();
Parent:
import { EventBus } from EventBus
// ...
EventBus.$emit('CustomerInform')
Child:
import { EventBus } from EventBus
// ...
created () {
EventBus.$on('CustomerInform', () => {
this.$refs.CustomersTable.refresh();
});
}