Bootstrap select error: Cannot set property '_menu' of undefined

Bootstrap select error: Cannot set property '_menu' of undefined

我在 angular 中使用 bootstrap-select 实现了 select 框 5. 我使用了最新版本的 Bootstrap select 使其工作 angular 5. 但它抛出以下错误。

bootstrap-select.js:1904 Uncaught TypeError: Cannot set property '_menu' of undefined

<form>
     <select class="selectpicker" data-live-search="true">
         <option>Mustard</option>
         <option>Ketchup</option>
         <option>Relish</option>
     </select>
</form>

View Plunkr

https://getbootstrap.com/docs/4.0/components/input-group/#custom-select

您的问题是您没有根据 Bootstrap 4 使用 select dropdown properly。如果不更新,您无法从 Bootstrap 3 升级到 Bootstrap 4不幸的是,您的代码无法使用新方法。

<select class="custom-select" data-live-search="true">
      <option>Mustard</option>
      <option>Ketchup</option>
      <option>Relish</option>
  </select>

我怀疑你使用的插件不兼容 Bootstrap 4. 文档和示例都使用 Bootstrap 3.

https://silviomoreto.github.io/bootstrap-select/

Bootstrap-select v1.13.0-dev 与 Boostrap 4 兼容。您可以在此处找到兼容的 bootstrap-select 文件 Boostrap-select

问题是我没有将所需的 jquery 和 popper.min.js 文件加载到项目目录中。还使用来自存储库代码的 bootstrap select 的非缩小版本。我通过添加上述文件解决了这个问题。

它在 bootstrap-select v1.13.11 和 bootsrrap v4.3.1 和 jQuery v3.4.1 中工作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.11/dist/js/bootstrap-select.min.js"></script>

我发现问题出在bootstrap.bundle.min.js,请改用最新版本。