Vue.js 如何使用引导Vue从父组件折叠/展开多个动态折叠?

Vue.js 如何使用引导Vue从父组件折叠/展开多个动态折叠?,vue.js,bootstrap-vue,Vue.js,Bootstrap Vue,在父组件中,我有以下内容: <b-col cols="2"> <b-btn v-b-toggle.collapse0.collapse1 variant="secondary" size="sm"><i class="fas fa-bars"></i></b-btn> </b-col> “collapse0”和“collapse1”是我在子组件中动态生成的折叠的当前硬编码ID,如下所示: <b-colla

在父组件中,我有以下内容:

<b-col cols="2">
    <b-btn v-b-toggle.collapse0.collapse1 variant="secondary" size="sm"><i class="fas fa-bars"></i></b-btn>
</b-col>

“collapse0”和“collapse1”是我在子组件中动态生成的折叠的当前硬编码ID,如下所示:

<b-collapse :id="'collapse' + index" class="mt-2">

每个按钮都有自己的折叠/展开按钮,如下所示:

<b-btn v-b-toggle="'collapse' + index" variant="secondary" size="sm"><i class="fas fa-bars"></i></b-btn>

我没有看到任何文档化的方法来动态地完成扩展/折叠。我已经摆弄过v-b-toggle=“[collapse0,collapse1]”和其他变体,但还没有找到实现这一点的方法

我还尝试让parent按钮只更新一个数据变量,将其作为道具发送给子组件。这种方法似乎让我走得更远了,除了在这种情况下,据我所知,我必须执行v-model=“{some data variable here}”来更改崩溃状态。所以我可以得到道具,最初将变量设置为它,这在最初起作用,但在没有观察者的情况下不会对道具上的变化做出反应,这对我来说是不必要的复杂。我也不确定这种方法将如何与单个折叠上的切换按钮交互,也不确定该如何与父按钮通信

我已经看过了,但还没有弄清楚如何实现它,特别是因为我没有在父对象的“component”对象中声明子组件

所以,问题的第一部分是——有没有一种方法可以动态地将多个折叠ID传递给v-b-toggle元素

如果没有,是否有方法在不填充components对象的情况下实现refs解决方案

而且,如果这三个都失败了,有没有人能举一个例子,说明他们使用父变量/子属性/子变量类型的场景成功地做到了这一点


提前谢谢

我也遇到了同样的问题,我的做法是在b-collapse上放置一个动态参考:

v-for=“(期间,索引)在期间内”和 :ref=“'period'+index”在每个b折叠元素上(动态生成)

然后访问组件的show变量:

        OpenAllCollapse() {
            for (var i = 0; i < this.periods.length; i++) {
                this.$refs["period" + i][0].$data.show = true
            }
        }
OpenAllCollapse(){
for(var i=0;i