仅打开一个手风琴面板vue.js / bootstrap vue

hendy0817

构建了一个Bootstrap-Vue手风琴,并且一切都按预期工作,但是,我只是添加了expand all /折叠所有按钮,这些按钮也按预期运行,但是现在我的问题是当我直接单击任何一个手风琴面板时,它们全部打开。有没有办法让他们只打开被点击的面板?

的HTML:

   <div class="container container-accordion-one">
      <!--expand all / collapse all row -->
      <div class="row row-expand-collapse">
        <div class="offset-md-1 col-expand-collapse">
          <ul class="list-expand-collapse">
            <li><a href="#/" @click="showCollapse = true" class="font__card-body">Expand All</a></li>
            <li><a href="#/" @click="showCollapse = false" class="font__card-body">Collapse All</a></li>
          </ul>
        </div>
      </div>
      <!--end: expand all / collapse all row -->
      <div class="row">
        <div class="offset-md-1 accordion-style-one">
          <div role="tablist">
            <b-card no-body class="">
              <b-card-header href="#" v-b-toggle.accordion-1 header-tag="header" class="accordion-header" role="tab">
                <p class="font__accordion-header">Accordion 1</p>
                <i class="fal fa-plus accordionClosed" />
                <i class="fal fa-minus accordionOpen" />
              </b-card-header>
              <b-collapse id="accordion-1" v-model="showCollapse" role="tabpanel">
                <b-card-body>
                  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio enim fugit, inventore odio odit perferendis quas quo veritatis voluptate.</p>
                </b-card-body>
              </b-collapse>
            </b-card>

            <b-card no-body class="">
              <b-card-header href="#" v-b-toggle.accordion-2 header-tag="header" class="accordion-header" role="tab">
                <p class=" font__accordion-header">Accordion 2</p>
                <i class="fal fa-plus accordionClosed" />
                <i class="fal fa-minus accordionOpen" />
              </b-card-header>
              <b-collapse id="accordion-2" v-model="showCollapse" role="tabpanel">
                <b-card-body>
                  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio enim fugit, inventore odio odit perferendis quas quo veritatis voluptate.</p>
                </b-card-body>
              </b-collapse>
            </b-card>

            <b-card no-body class="">
              <b-card-header href="#" v-b-toggle.accordion-3 header-tag="header" class="accordion-header" role="tab">
                <p class=" font__accordion-header">Accordion 3</p>
                <i class="fal fa-plus accordionClosed" />
                <i class="fal fa-minus accordionOpen" />
              </b-card-header>
              <b-collapse id="accordion-3" v-model="showCollapse" role="tabpanel">
                <b-card-body>
                  <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Architecto distinctio enim fugit, inventore odio odit perferendis quas quo veritatis voluptate.</p>
                </b-card-body>
              </b-collapse>
            </b-card>
          </div>
        </div>
      </div>
    </div>

js:

export default {
  name: 'm',
  components: {
   LinksTo
  },
  data() {
    return {
      showCollapse: false
    };
  }
};
特洛伊·莫尔豪斯(Troy Morehouse)

由于希望每个折叠都可以单独打开或关闭,因此v-model每个折叠都需要有一个变量。下面,我使用数组存储折叠状态:

<template>
  <div>
    <b-button @click="expandAll">Expand all</b-button>
    <b-button @click="collapseAll">Collapse all</b-button>

    <b-button block v-b-toggle.accordion-1 class="mt-2">Accordion 1</b-button>
    <b-collapse id="accordion-1" v-model="collapseStates[0]">
      <div>Lorem ipsum dolor sit amet.</div>
    </b-collapse>

    <b-button block v-b-toggle.accordion-2 class="mt-2">Accordion 2</b-button>
    <b-collapse id="accordion-2" v-model="collapseStates[1]">
      <div>Lorem ipsum dolor sit amet.</div>
    </b-collapse>

    <b-button block v-b-toggle.accordion-3 class="mt-2">Accordion 3</b-button>
    <b-collapse id="accordion-3" v-model="collapseStates[2]">
      <div>Lorem ipsum dolor sit amet.</div>
    </b-collapse>
  </div>
</template>

<script>
export default {
  data() {
    return {
      collapseStates: [false, false, false]
    }
  },
  methods: {
    expandAll() {
      this.collapseStates = this.collapseStates.map(x => true)
    },
    collapseAll() {
      this.collapseStates = this.collapseStates.map(x => false)
    }
  }
}
</script>

在以下位置查看有效的提琴:https : //jsfiddle.net/p60zktLs/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Vue.js简单手风琴如何打开和关闭同一项目

来自分类Dev

仅切换手风琴单击的vue.js

来自分类Dev

Bootstrap手风琴只能自动折叠一个面板

来自分类Dev

Bootstrap手风琴只能自动折叠一个面板

来自分类Dev

一个按钮来关闭所有打开的手风琴Bootstrap

来自分类Dev

Bootstrap手风琴-一次只能打开一次

来自分类Dev

Charts.js和Bootstrap手风琴

来自分类Dev

Charts.js和Bootstrap手风琴

来自分类Dev

Bootstrap手风琴面板/折叠

来自分类Dev

vue js 2 中的 Bootstrap 导航药丸

来自分类Dev

Vue js bootstrap 在折叠时添加动画

来自分类Dev

Twitter Bootstrap:如何创建一个带有手风琴的下拉按钮?

来自分类Dev

Vue.js - 我的多手风琴菜单组件无法通过切换标志工作

来自分类Dev

Twitter Bootstrap 3-当链接单击另一个手风琴时自动扩展手风琴

来自分类Dev

Twitter Bootstrap 3-当链接单击另一个手风琴时自动展开手风琴

来自分类Dev

在Ember.js中实现一个手风琴式视图

来自分类Dev

Bootstrap嵌套手风琴,内部div不是面板

来自分类Dev

Bootstrap手风琴面板自动关注表单验证

来自分类Dev

Bootstrap手风琴

来自分类Dev

Bootstrap手风琴

来自分类Dev

Bootstrap手风琴,单击时滚动到活动(打开)手风琴的顶部?

来自分类Dev

Bootstrap手风琴面板主体在第一次打击时不会塌陷

来自分类Dev

Bootstrap手风琴-在打算打开当前面板时关闭其他面板

来自分类Dev

Bootstrap手风琴允许多个打开

来自分类Dev

Bootstrap Stay手风琴打开页面重新加载

来自分类Dev

如何才能同时锚定并打开Bootstrap手风琴?

来自分类Dev

多个Bootstrap手风琴同时打开和关闭

来自分类Dev

Bootstrap手风琴在悬停时打开

来自分类Dev

Bootstrap手风琴选项卡未打开

Related 相关文章

热门标签

归档