TS2339:类型“JQuery<HTMLElement>”上不存在属性“selectpicker”

Mik*_*ker 3 jquery typescript bootstrap-select webpack bootstrap-4

我正在使用引导选择

我已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>
Run Code Online (Sandbox Code Playgroud)

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

$('.selectpicker').selectpicker('deselectAll');
Run Code Online (Sandbox Code Playgroud)

方法如图所示这里。每当我尝试使用那段代码时,都会收到一个错误:

TS2339: Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>'.
Run Code Online (Sandbox Code Playgroud)

我什至尝试使用安装类型定义

npm install --save-dev @types/bootstrap-select
Run Code Online (Sandbox Code Playgroud)

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

Abr*_*agh 5

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

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

declare var $: any;

就上下文而言,这在我的 Angular 项目中对我来说效果很好。我对 Vue.js 不太熟悉,但如果它适用,我认为将您需要的所有引导选择 jQuery 代码包装在一个单元中是个好主意(在我的情况下,我将它全部包装在一个指令中)。

它也无需安装任何类型即可工作(我没有 @types/jquery 或 @types/bootstrap-select)