TS2339:Property&#39; selectpicker&#39;在类型&#39; JQuery <htmlelement>&#39;上不存在

时间:2018-01-11 21:06:31

标签: jquery typescript webpack bootstrap-4 bootstrap-select

我正在使用bootstrap-select

我已使用以下方法成功将bootstrap-select导入项目:

<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/css/bootstrap-select.min.css">

<!-- Latest compiled and minified JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/bootstrap-select.min.js"></script>

<!-- (Optional) Latest compiled and minified JavaScript translation files -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.4/js/i18n/defaults-*.min.js"></script>

在文档<head>标记内。我想看看如何修改多个选择框中的复选标记,并想到我会尝试使用

$('.selectpicker').selectpicker('deselectAll');

显示的方法here。每当我尝试使用那段代码时,都会收到错误:

TS2339: Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>'.

我甚至尝试使用

安装类型定义
npm install --save-dev @types/bootstrap-select

但问题仍然存在。我使用Visual Studio SPA模板,该模板使用ASP.NET Core模板,Vue.js和Webpack。

1 个答案:

答案 0 :(得分:2)

我记得处理同样的错误。现在尝试重现完全相同的错误,我发现只有在我按照此答案中的步骤后才会显示:https://stackoverflow.com/a/41168903

我的解决方案,在我的导入语句正下方添加此行:

declare var $: any;

对于上下文,这在我的Angular项目中对我来说很好。我对Vue.js不太熟悉,但如果它适用,我认为将一个单元中所需的所有bootstrap-select jQuery代码包装起来是个好主意(在我的情况下我是将它全部包装在一个指令中。)

它也可以在不需要安装任何类型的情况下工作(我没有@ types / jquery或@ types / bootstrap-select)