【问题标题】:TS2339: Property 'selectpicker' does not exist on type 'JQuery<HTMLElement>'TS2339:“JQuery<HTMLElement>”类型上不存在属性“selectpicker”
【发布时间】: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>

在文档&lt;head&gt; 标签内。我想看看如何修改多个选择框中的复选标记,并想我会尝试使用

$('.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。

【问题讨论】:

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


    【解决方案1】:

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

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

    declare var $: any;

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-10
      • 2019-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-08
      • 2020-01-17
      相关资源
      最近更新 更多