首页 > 解决方案 > 引导下拉菜单需要哪些文件才能工作?

问题描述

我避免在我的应用程序中包含整个引导程序源代码。此时我需要的只是引导下拉类。我正在尝试制作一个看起来像这样的简单下拉列表...

  <div class="dropdown">
    <a data-toggle="dropdown" class="dropdown-toggle">display dropdown</a>
    <ul
      class="dropdown-menu dropdown-menu-right dropdown-menu-arrow dropdown-scrollable dropdown-content"
    >
      <li class="dropdown-item">Option 1</li>
      <li class="dropdown-item">Option 2</li>
    </ul>
  </div>

我从 tabler.io 库中复制了 dropdown.scss。

这就是它所包含的一切......

.dropdown {
  display: inline-block;
  color: orange;
}

.dropdown-menu {
  box-shadow: $dropdown-box-shadow;
  min-width: 12rem;
}

.dropdown-item {
  color: $text-muted-dark;
  z-index: 1000;
}

.dropdown-menu-arrow {
  &:before {
    position: absolute;
    top: -6px;
    left: 12px;
    display: inline-block;
    border-right: 5px solid transparent;
    border-bottom: 5px solid $border-color;
    border-left: 5px solid transparent;
    border-bottom-color: rgba(0, 0, 0, 0.2);
    content: "";
  }

  &:after {
    position: absolute;
    top: -5px;
    left: 12px;
    display: inline-block;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #fff;
    border-left: 5px solid transparent;
    content: "";
  }

  &.dropdown-menu-right {
    &:before,
    &:after {
      left: auto;
      right: 12px;
    }
  }
}

.dropdown-toggle {
  user-select: none;
  cursor: pointer;

  &:after {
    vertical-align: 0.155em;
  }

  &:empty:after {
    margin-left: 0;
  }
}

.dropdown-icon {
  color: $text-muted;
  margin-right: 0.5rem;
  margin-left: -0.5rem;
  width: 1em;
  display: inline-block;
  text-align: center;
  vertical-align: -1px;
}

我知道我的代码引用了这个样式表,因为字体颜色是橙色并且样式表的第一条规则包括color: orange.

在此处输入图像描述

我也知道我的代码检测到用户点击文本,因为我通过添加 @click.prevent="doSomething()" 进行测试,其中 doSomething() 只是控制台记录了一条消息。该消息确实在 Chrome 开发工具控制台中打印出来.

但是,当我单击 wordsdisplay dropdown时,下拉菜单不会打开。

我知道我可能需要一些 javascript 文件。那些是哪些文件,我如何确保我的代码使用这个文件?这是一个使用 Nuxt 的 Vuejs 应用程序。

标签: vue.jsbootstrap-4dropdownnuxt.js

解决方案


推荐阅读