TS2339:“JQuery<HTMLElement>”类型上不存在属性“selectpicker”
Posted
技术标签:
【中文标题】TS2339:“JQuery<HTMLElement>”类型上不存在属性“selectpicker”【英文标题】:TS2339: Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>' 【发布时间】:2018-06-21 07:08:36 【问题描述】:我正在使用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】:我记得处理过同样的错误。现在尝试重现完全相同的错误,我发现它只有在我按照此答案中的步骤操作后才会出现:https://***.com/a/41168903
我的解决方案,在我的导入语句下方添加这一行:
declare var $: any;
对于上下文,这在我的 Angular 项目中对我来说效果很好。我对 Vue.js 不太熟悉,但如果它适用,我认为将您需要的所有引导选择 jQuery 代码包装在一个单元中是个好主意(在我的情况下,我将它们全部包装在一个指令中)。
它也可以在不需要安装任何类型的情况下工作(我没有@types/jquery 或@types/bootstrap-select)
【讨论】:
以上是关于TS2339:“JQuery<HTMLElement>”类型上不存在属性“selectpicker”的主要内容,如果未能解决你的问题,请参考以下文章
错误 TS2339:属性“_componentTag”不存在
错误 TS2339:类型“”上不存在属性“contenido”