我使用的是Bootstrap vue,有一个简单的折叠组件,可以切换内容的可见性.我正在寻找一种方法,在切换按钮中包含一个箭头图标,指示折叠状态:打开内容时箭头指向下方,关闭时箭头指向侧面.

我已经看了Bootstrap 4 Collapse show state with Font Awesome icon个答案.然而,虽然这适用于Bootstrap 4,但我无法使其适用于Bootstrap vue,因为标记元素不同.那么,考虑到下面的标记,如何实现折叠状态箭头?

<div>
  <b-btn v-b-toggle.collapse3 class="m-1">Toggle Collapse</b-btn>
  <b-collapse visible id="collapse3">
     <b-card> some content </b-card>
  </b-collapse>
</div>

推荐答案

根据里德的回答,这是我最终的解决方案:

<b-btn block href="#" v-b-toggle.accordion1 variant="secondary">
   Time Period
     <span class="when-opened">
         <font-awesome-icon icon="chevron-down" />
     </span>
     <span class="when-closed">
         <font-awesome-icon icon="chevron-right" />
     </span>
</b-btn>

<b-collapse id="accordion1" role="tabpanel">
   <!-- some content -->
</b-collapse>

附加CSS:

<style scoped>
...
    .collapsed > .when-opened,
    :not(.collapsed) > .when-closed {
        display: none;
    }

...
</style>

我安装并导入了字体很棒的软件包,如这里https://fontawesome.com/how-to-use/on-the-web/using-with/vuejshttps://origin.fontawesome.com/how-to-use/with-the-api/setup/importing-icons所述.主要是进口代码.js文件,如下所示:

import Vue from 'vue'
...
import { library } from '@fortawesome/fontawesome-svg-core'
import { faChevronRight, faChevronDown } from '@fortawesome/free-solid-svg-icons'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

library.add(faChevronRight, faChevronDown);

Vue.component('font-awesome-icon', FontAwesomeIcon);
...

Vue.js相关问答推荐

使用项目和字段,列跨度为 2 的 Bootstrap-vue 表

Vuejs 通过数据键迭代复杂对象

Vue 3 在一个值更改问题后再次重新渲染每一行

在 Vue.js 2.6 的 Javascript 中访问 的内容

单击 v-data-table 中行中的任意位置并移动到另一个页面

带有 netlify.toml 文件的环境变量

使用 Laravel 作为后端刷新 Vue.js SPA 的身份验证令牌

Vue:在表格中显示嵌套数据

VueJs this.method 不是函数?如何在 Vuejs 的另一个方法中调用一个方法?

Vue:如何将 store 与组件一起使用?

apache上的Vue-router,子目录下的SPA,只能通过重定向访问页面

错误:您可能需要额外的加载器来处理这些加载器的结果.

加载和渲染时对象值上的 Vue.js 未定义错误

ionic - `slot` 属性已被弃用 - eslint-plugin-vue

为 webpack HMR Vue.js 包含来自外部项目文件夹的可导入模块

如何在 Vue 类组件中定义过滤器?

我应该将所有数据存储在 vuex 状态

在Vue中调用方法时的括号

如何在 Vue.js 2 应用程序中模拟 onbeforeunload?

返回 VueJS 方法的Native Code消息