如何使用项目提供程序功能从 Bootstrap-Vue 异步更新 b 表中的项目?

Ope*_*aus 14 javascript vue.js bootstrap-vue

我正在使用 Bootstrap-Vue v2.0.0-rc.11,但我无法理解如何更新表格内容。我相信这是微不足道的。

我正在使用项目提供程序功能从后端提取我的内容。

        <b-table
                 :items="myProvider"
        >
Run Code Online (Sandbox Code Playgroud)

初始调用使用以下方法可以正常工作。

export default {
    methods: {
        myProvider(ctx) {
            let promise = axios.get('/backend?currentPage=' + ctx.currentPage);

            return promise.then((response) => {
                return(response.items || []);
            });
        },
Run Code Online (Sandbox Code Playgroud)

要复制一个行项目,我打开一个模式来输入一个新名称。我为重复工作做了一个后端调用,效果很好。现在我想刷新显示新项目的表格中显示的内容。我该怎么做呢?

我能想到的最简单的方法是再次调用项目提供程序函数(此处:'myProvider')。我可以从模态中做到这一点,但我无法提供正确的参数(此处:'ctx')。

是否有触发/发出事件以重新发出后端调用?

我试过这样的事情:

this.$refs.nameOfTable.$forceUpdate()

this.$refs.nameOfTable.$emit('XXX') // XXX = placeholder for various events
Run Code Online (Sandbox Code Playgroud)

任何提示表示赞赏!谢谢你。

nar*_*nob 21

它隐藏在文档中,但它只是对表引用的简单 refresh() 调用。

<b-table ref="table" ... ></b-table>
this.$refs.table.refresh();
Run Code Online (Sandbox Code Playgroud)

来自文档强制刷新表数据部分。